定義命名空間
在.net中,多執行緒功能是在system.threading命名空間中定義的。
using
system.threading;
啟動執行緒
system.threading命名空間中的thread類代表乙個執行緒物件,用這個類物件可以建立新的執行緒,刪除、暫停和恢復執行緒。
下面的**使用thread類建立乙個新的執行緒,然後啟動這個執行緒:
thread mythread ;
mythread = new thread(new threadstart( writedata ));
mythread.start();
其中writedata是這個執行緒要執行的乙個函式,**如下:
protected void writedata() );
update();}}
殺死執行緒
thread類的abort方法用於永久地殺死乙個執行緒。但是請注意,在呼叫abort方法前一定要判斷執行緒是否還啟用,:
if ( mythread.isalive )
暫停執行緒
thread.sleep方法用於將乙個執行緒暫停一段時間,**如下:
mythread.sleep(int);
設定執行緒的優先權
我們可以使用thread類的threadpriority屬性設定執行緒的優先權。執行緒優先權的取值範圍是normal、abovenormal、belownormal、highest或者lowest。請看下面的設定**:
mythread.priority = threadpriority.highest;
延遲線程
thread類的suspend方法可以延遲乙個執行緒(掛起執行緒)。執行緒被延遲到呼叫resume方法為止。
if (mythread
.threadstate = threadstate.running )
恢復被延遲的執行緒
呼叫resume方法可以恢復乙個被延遲的執行緒。如果執行緒沒有被延遲,resume方法就是無效的。
if (mythread.threadstate = threadstate.suspended )
C 基礎 多執行緒
一.微軟早期作業系統中的問題 在早期的作業系統中,應用程式都是在同乙個位址空間中執行的,每個程式的資料其它程式都是可見的,並且因為早期cpu是單核心 的所以所有的執行都是線性的。這就引出兩個問題 第一 資料的安全性問題,如果有乙個惡意程式被載入到記憶體當中,意味著它可以檢視所有程式的資料,諸如密碼,...
C 學習 多執行緒程式設計 多執行緒基礎
c 內建了對多執行緒程式設計的支援功能,所以相對於其他語言在多執行緒方面的問題,c 這裡就已經最小化或者不復存在。在.net framework 4.0中,c 中新增了兩個與多執行緒應用程式相關的重要功能 tpl 任務執行並行庫 和plinq 並行linq 兩者都提供對並行程式設計的支援,都可以利用...
C 多執行緒程式設計基礎
使用執行緒有幾個原因。假設從應用程式中進行網路呼叫需要一定的時間。使用者不希望分割使用者界,並且讓使用者一直等待直到從伺服器返回乙個響應為止。使用者可以同時執行其他一些操作,或者甚至取消傳送給伺服器的請求。這些都可以使用執行緒來實現。對於所有需要等待的操作,例如,因為檔案 資料庫或網路訪問都需要一定...