執行緒建立的關鍵是要給它指定一段執行緒要執行的**段,這段**可以是任意可以訪問到的函式,如其它類的靜態函式,自己類定義的函式.
1. 先生成乙個threadstart 類的例項,將要執行緒執行的**和這個物件關聯,
2. 再在建立執行緒時的建構函式裡,用threadstart 類的例項實現關聯,
下面的示例說明建立和啟動執行緒。
[visual basic, c#, c++] 這段**產生以下輸出:
[c#]
using system;
using system.threading;
public class threadwork
}}class threadtest
}} 第2個問題是,執行緒執行的**裡面,如何來共享使用程序裡的變數呢?
這個靠執行緒執行的**,即和執行緒關聯的函式來決定,
1、當該函式是執行緒所屬的類的成員函式時,就可以共享操作這個物件的所有資源,
2、當該函式是其它類的公共成員函式時,就可以操作其它類的變數
3、整個程序的全域性變數,只要在**中進行了操作,執行緒就也操作了全域性變數.
一切都由和執行緒關聯的函式的內容和性質決定.
因此在編寫供執行緒使用的函式時要千萬注意執行緒間資源的共享和衝突特點,共同操作的變數要給予同步,加鎖等,
c 執行緒使用
一直習慣用c語言的方法建立執行緒,即pthread create和 beginthread,但總覺得這樣不夠物件導向。c 建立執行緒有兩種方法 基於物件的方法和物件導向的方法。物件導向建立執行緒相比較面向過程的優點是可以復用一些公共函式,像執行緒的開始,執行緒的結束,執行緒的暫停等等。基於物件建立執...
C 執行緒使用
1.lock鎖定 建立乙個類,程式碼如下 view code class person runcountb runcountc runcounta,runcountb,runcountc break lock o public void doworkb runcountb runcountc run...
c 中使用多執行緒
using system using system.drawing using system.collections using system.componentmodel using system.windows.forms using system.data using system.threa...