C 多執行緒之thread與task

2021-09-05 08:21:33 字數 591 閱讀 8037

最近有個用c#開發的winform軟體,需要呼叫matlab匯出的dll檔案。最開始把dll中類的初始化放在了主窗體的建構函式裡面,結果軟體開啟30多秒才顯示介面。由於dll不是本人寫的,沒法改,只能在c#程式上想辦法。

兩個方案:

使用timer,在主窗體的load事件裡面觸發timer,將初始化的**放在timer_tick裡面。

嘗試延時10秒觸發tick事件,窗體秒開,但是10s之後假死,體驗不好。

這種方法可能在載入大資料的時候可以用用。

使用多執行緒的方法,主線程開啟窗體,在load()裡面再開乙個執行緒用來進行初始化。

效果很好!!

本打算自己寫的,發現網上已經有人整理的比較好了,直接搬過來吧。

用thread類,講的非常詳細。

用task類,.net4.0以後的。

討論task和thread在效率上有何區別。

總結一下:

python多執行緒之 thread

多執行緒類似於同時執行多個不同程式,多執行緒執行有如下優點 執行緒在執行過程中與程序還是有區別的。每個獨立的執行緒有乙個程式執行的入口 順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。每個執行緒都有他自己的一組cpu暫存器,稱為執行緒的上下...

C 多執行緒庫thread

參考 目前來公司工作兩年了,發現很多時候因為自己的能力廣度不足最後直接影響到產品質量。就比如自己來的第一年編寫資源池管理模組 因為自己相關知識不夠充分,編寫流水線式的 讓整個資源池建立過程十分緩慢。這絕對不是乙個優秀的開發人員能夠接受的。目前c c的 多執行緒程式設計和網路程式設計還處於空白狀態,從...

多執行緒 Thread

如果從另外乙個執行緒操作windows窗體上的控制項,就會與主線程產生競爭,造成不可預料的後果,甚至死鎖。因此,windows gui程式設計有乙個規則 只能通過建立控制項的執行緒來操作控制項的資料!實現方法 要從執行緒外操作windows控制項,那麼就要使用invoke或begininvoke方法...