如何用 Multi-Thread 程式呼叫一般的 DLL(在各Thread中) |
尚未結案
|
chenyuchih
一般會員 發表:4 回覆:3 積分:6 註冊:2009-10-04 發送簡訊給我 |
大家好, 小弟最近在練習寫Multi-Thread的程式,其中主程式有用到A.dll, B.dll, C.dll,A又有用到B和C,B也有用到C,主程式有用到從A.dll呼叫的 甲、乙 兩個函式(兩者為完全獨立,且都沒有檔案存取的動作),原本的流程是: 主程式先進行甲,完畢之後再執行乙,即循序執行。 後來想改為: 主程式用BeginThread的方式開一條Thread執行乙,主程式自己執行甲,主程式執行完甲之後用WaitForSingleObject等待乙的結束再進行後續的計算,但是這麼做程式會完全沒有回應而當在那邊。 後來把A.dll, B.dll, C.dll重新編譯一份叫做A2, B2,C2(並更改其內部所需的呼叫關係),主程式的乙函式由A2執行,執行速度果然有加快了一些,雖然說這麼做可以勉強堪用,但是我覺得這種變通的方法有點蠢…請問有沒有比較好的方法可以讓多執行緒程式呼叫並應用標準dll在各Thread中? 另,我的dll裡都是一堆function寫成的,應該是最普通的dll.......有人能提供一些Thread-Safe dll的參考嗎? 謝謝! Best Regards, ChenYuChih
|
chenyuchih
一般會員 發表:4 回覆:3 積分:6 註冊:2009-10-04 發送簡訊給我 |
自己回自己.....這兩天找到ㄧ個相關的網路文章
Multithreading - The Delphi Way. http://www.eonclash.com/ 講得很多,還在研究怎麼看懂中.......希望能對有Multi-Thread相關問題的同好們有所幫助並討論之! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |