把不把Code寫在Execute中對程式運作是否有差異 |
尚未結案
|
xgray
一般會員 發表:12 回覆:14 積分:10 註冊:2002-04-14 發送簡訊給我 |
假設我有一個function void __fastcall DoSomething();
{
DoSomethingCode;
} 程式本來沒有用到thread,所以我把DoSomething寫在manin.cpp中
現在我想讓DoSomething用thread跑,所以我在Project中新增一個
Thread Object(t1.cpp),將DoSomethingCode搬到Thread的Execute中,如下 void __fastcall ThreadDoSomething::Execute()
{
DoSomethingCode;
} 和我用下列方式去呼叫 void __fastcall ThreadDoSomething::Execute()
{
Form1->DoSomething();
} 這兩種執行方法,在執行上會有差異嗎?
|
pwipwi
版主 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
引言: 假設我有一個function void __fastcall DoSomething(); { DoSomethingCode; } 程式本來沒有用到thread,所以我把DoSomething寫在manin.cpp中 現在我想讓DoSomething用thread跑,所以我在Project中新增一個 Thread Object(t1.cpp),將DoSomethingCode搬到Thread的Execute中,如下 void __fastcall ThreadDoSomething::Execute() { DoSomethingCode; } 和我用下列方式去呼叫 void __fastcall ThreadDoSomething::Execute() { Form1->DoSomething(); } 這兩種執行方法,在執行上會有差異嗎?xgray你好: Form1不是Thread-safe,後者在使用的安全性上可能會有問題。如果無關呼Thread-safe的話,我想應該是差別不大…。 之前版上有不少Thread高手作了不少討論,可以去參考看看。 |
xgray
一般會員 發表:12 回覆:14 積分:10 註冊:2002-04-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |