C 多執行緒操作介面控制項的解決方案

2021-04-13 05:33:42 字數 651 閱讀 1508

c#2005後不再支援多執行緒直接訪問介面的控制項(介面建立執行緒與訪問執行緒不是同乙個執行緒),不過可以使用delegate來解決:

1. 執行緒的啟動和終止

private thread _progressthread;

_progressthread = new thread(new threadstart(progressstart));

// 可選,功用:即使該執行緒不結束,程序也可以結束

_progressthread.isbackground = true;

_progressthread.start();

_progressthread.abort();

// 可選,功用:等到執行緒結束才繼續

_progressthread.join();

_progressthread = null;

2. 定義執行緒函式(在另乙個執行緒中可以對介面控制項進讀操作)

private void progressstart()

trace.writeline(string.format("pos: ", newpos));

// 這裡直接呼叫方法,由其內部自動判斷是否啟用delegate

showprogress(newpos);

thread.sleep(100);}}

C 多執行緒操作介面控制項的解決方案

c 2005後不再支援多執行緒直接訪問介面的控制項 介面建立執行緒與訪問執行緒不是同乙個執行緒 不過可以使用delegate來解決 1.執行緒的啟動和終止 private thread progressthread progressthread new thread new threadstart ...

C 多執行緒操作介面控制項的解決方案

c 2005後不再支援多執行緒直接訪問介面的控制項 介面建立執行緒與訪問執行緒不是同乙個執行緒 不過可以使用delegate來解決 1.執行緒的啟動和終止 private thread progressthread progressthread new thread new threadstart ...

C 多執行緒物件導向解決方案

相信很多人都讀過 c 沉思錄 這本經典著作,在我艱難地讀完整本書後,留給我印象最深的只有一句話 用類表示概念,用類解決問題 關於多執行緒程式設計,如果不是特別需要,大多數開發人員都不會特意去觸碰這個似乎神秘的領域。如果在某些場合能正確並靈活地運用,多執行緒帶來的好處是不言而喻的。然而,任何事物都有兩...