C 多執行緒操作

2021-05-24 11:57:23 字數 1425 閱讀 9545

在.net和c#中編寫乙個多執行緒應用程式將非常得容易。即使對於那些從沒有用c#編寫過多執行緒應用程式的初學者,只需遵循以下這些簡單的步驟就可以實現目的。

定義命名空間

在.net中,多執行緒功能是在system.threading命名空間中定義的。因此,在使用任何執行緒類之前,必須定義 system.threading命名空間。定義方法如下:

using system.threading;

啟動執行緒

system.threading命名空間中的thread類代表乙個執行緒物件,用這個類物件可以建立新的執行緒,刪除、暫停和恢復執行緒。 下面的**使用thread類建立乙個新的執行緒,然後啟動這個執行緒:

thread = new thread(new threadstart( writedata ));

thread.start();

其中writedata是這個執行緒要執行的乙個函式,**如下:

protected void writedata()

string str ;

for ( int i = 0; i<=10000; i++ )

str = "secondary thread" + i.tostring();

console.writeline(listview1.listitems.count, str, 0, new string );

update();

殺死執行緒

thread類的abort方法用於永久地殺死乙個執行緒。但是請注意,在呼叫abort方法前一定要判斷執行緒是否還啟用,也就是判斷thread.isalive的值:

if ( thread.isalive )

thread.abort();

暫停執行緒

thread.sleep方法用於將乙個執行緒暫停一段時間,**如下:

thread.sleep();

設定執行緒的優先權

我們可以使用thread類的threadpriority屬性設定執行緒的優先權。執行緒優先權的取值範圍是normal、abovenormal、belownormal、highest或者lowest。請看下面的設定**:

thread.priority = threadpriority.highest;

延遲線程

thread類的suspend方法可以延遲乙個執行緒。執行緒被延遲到呼叫resume方法為止。

if (thread.threadstate = threadstate.running )

thread.suspend();

恢復被延遲的執行緒

呼叫resume方法可以恢復乙個被延遲的執行緒。如果執行緒沒有被延遲,resume方法就是無效的。

if (thread.threadstate = threadstate.suspended )

thread.resume();

C 多執行緒操作

多執行緒是多工處理的一種特殊形式,多工處理允許讓目標裝置同時執行兩個或兩個以上的程式。一般情況下,兩種型別的多工處理 基於程序和基於執行緒。基於程序的多工處理是程式的併發執行。基於執行緒的多工處理是同一程式的片段的併發執行。多執行緒程式包含可以同時執行的兩個或多個部分。這樣的程式中的每個部分稱為乙個...

c 多執行緒操作Windows Forms控制項

解決方案如下,建立乙個windows forms專案,拖拉乙個textbox和button就可以。這需要使用委託類 啟動執行緒 private void button1 click object sender,eventargs e delegate void add 委託 public void ...

C 多執行緒間操作UI

通過設定ui控制項的invoke和begininvoke方法實現更新,如下 1 public partial class fifth form28 private void settext string text 912 13private void fifth load object sender...