作者AJE (小傑)
看板C_Sharp
標題[問題] C#開啟多緒 並存取COM元件屬性的效能問題
時間Thu Nov 4 19:42:36 2010
我目前開發的C#類別中 有需要存取COM元件
為了加快速度 所以採用多緒的架構
我的類別架構大致如下
class A
{
private COM mMyCOM;
private Thread mMyThread;
private void WorkFunction()
{
// 執行mMyCOM的功能
}
public void Run()
{
mMyThread = new Thread(WorkFunction);
mMyThread.start();
}
}
但是實際測試的結果 反而比不用Thread的單緒環境更花時間 而且多很多
後來知道是.net framework在多緒環境下 會把COM元件序列化來存取
所以很花時間
想請問該如何改善 使存取COM元件所花的時間與單緒環境下的時間是一樣的?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.231.175
推 goodGG:COM 可以跑多緒嗎? 11/05 23:34
→ deuter:你的COM元件是用甚麼寫的? VB嗎? 11/06 13:27
→ AJE:COM元件是上游廠商提供的 不知道用哪種工具開發 11/06 21:08
→ AJE:在.net裡面用COM 可以跑多緒 可是目前測起來很慢 11/06 21:10