C 多執行緒應用基礎

2021-04-06 23:45:54 字數 1063 閱讀 3009

定義命名空間

在.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 多執行緒程式設計基礎

使用執行緒有幾個原因。假設從應用程式中進行網路呼叫需要一定的時間。使用者不希望分割使用者界,並且讓使用者一直等待直到從伺服器返回乙個響應為止。使用者可以同時執行其他一些操作,或者甚至取消傳送給伺服器的請求。這些都可以使用執行緒來實現。對於所有需要等待的操作,例如,因為檔案 資料庫或網路訪問都需要一定...