如果從另外乙個執行緒操作windows窗體上的控制項,就會與主線程產生競爭,造成不可預料的後果,甚至死鎖。
因此,windows gui程式設計有乙個規則:
只能通過建立控制項的執行緒來操作控制項的資料!
實現方法:
要從執行緒外操作windows控制項,那麼就要使用invoke或begininvoke方法,通過乙個委託將呼叫封送到空間所屬的執行緒。
呼叫格式:
object^ invoke ( delegate^ method );
delegate 為執行緒的委託
object 為正在被呼叫的委託的返回值,可無返回值。
委託將對方法的引用封裝在委託物件中,即委託中封裝乙個方法,方法通過物件來實現。
thread^ newthread = gcnew thread(gcnew threadstart(類物件名, &類::函式));
靜態方法--->(&類::函式)
例項方法--->(類物件名, &類::函式)
多執行緒 Thread
static void main string args t.start console.writeline 主線程繼續執行!主線程結束,後台執行緒會自動結束,不管有沒有執行完成 thread.sleep 1500 console.writeline 主線程結束 console.readkey st...
Thread 多執行緒
import threading 首先匯入threading 模組,這是使用多執行緒的前提。threads t1 threading.thread target music,args u 愛情買賣 建立了threads陣列,建立執行緒t1,使用threading.thread 方法,在這個方法中呼叫...
python 多執行緒thread
python通過thread模組支援多執行緒,語法也很簡潔,現在通過乙個例項來看一下python中的多執行緒 import thread import time 保證只額外啟動乙個執行緒 isrunning false 啟動的時間控制,測試時間是23點44分,所以定的是這個時間,可以用於指定定時任務...