現在c#已經建議擯棄使用 suspend, resume 暫停/恢復執行緒, 也盡量少用 abort方法中斷乙個執行緒.
建議使用執行緒的同步手段有: mutex、manualresetevent、autoresetevent, monitor.
下面再對此進行詳細描述.
thread類的建構函式有2類:
一種是不帶引數(threadstart 委託) --
public thread(threadstart start);
另一種是帶引數(parameterizedthreadstart 委託) --
public thread(parameterizedthreadstart start);
parameterizedthreadstart 委託簽名:
public delegate void parameterizedthreadstart(object obj);
示例:1. 不帶引數:
//定義執行緒方法:
private
static
void
threadmain()
//呼叫:
thread mythread = new
thread(threadmain);
mythread.start();
2. 帶引數:
//定義執行緒方法:
private
static
void mainthreadwithparameters(objecto)"
, d.message);
}public
struct
data
//呼叫:
var data = new data ;
thread t2 = new
thread(mainthreadwithparameters);
t2.start(data);
//傳入引數
3. 通過定義類傳遞引數:
//定義存放資料和執行緒方法的類:
public
class
mythread
public
void
threadmethod()
", this
.message); }}
//呼叫
var obj = new mythread("
info");
thread mythread = new thread(obj.threadmethod); //
threadstart 委託
mythread.start();
python類的方法中帶參與不帶參
1 建構函式帶引數,例項化時就需要帶引數 class person 定義類 def init self,name,leg 8 建構函式帶引數 self.name name self.leg leg defrun self 方法不帶參 print 我會跑 print self.name print s...
執行緒的run 方法帶參情況
首先看一下runnable介面的原始碼,整個方法體裡就只有乙個run的抽象方法,所以才建立實現類實現該介面的時候是肯定要重寫介面內的抽象方法的 也就是run 方法 按照重寫規則 不能是抽象,引數要和父類一致,也就是無參 重寫run 方法,方法體就可以自定義新增了。functionalinte ce ...
C 帶參多執行緒操作
多執行緒操作 參考鏈結 新建 thread 物件會新建託管執行緒。thread 類包含需要使用 threadstart 委託或 parameterizedthreadstart 委託的建構函式 委託包裝在呼叫 start 方法時由新執行緒呼叫的方法。多次呼叫 start 會導致 threadstat...