[問題] winapi的thread問題..
看板C_and_CPP (C/C++)作者bluesapphire (Blue Sapphire)時間16年前 (2009/12/12 03:49)推噓0(0推 0噓 4→)留言4則, 2人參與討論串1/1
遇到的問題: (題意請描述清楚)想呼叫sort,用thread方式切割陣列加速
希望得到的正確結果:要怎麼製造thread傳值給sort函數?
我原本的想法是製造thread的時候直接指定thread呼叫sort
CreateThread(NULL, 0,(LPTHREAD_START_ROUTINE)sort, NULL, 0,&ThreadID);
可是....我看msdn很難的英文範例..
[1] Microsoft CreateThread example:
http://msdn.microsoft.com/en-us/library/ms682453(VS.85).aspx
[2] Microsoft semaphore example:
http://msdn.microsoft.com/en-us/library/ms686946.aspx
裡面semaphore example製造的thread是呼叫
DWORD WINAPI ThreadProc( LPVOID lpParam )
看來看去似乎原本的createThread不能直接呼叫sort,要寫一個threadproc之類的
再從裡面呼叫sort函式嗎?
如果是只能這樣製造thread,那我是不是要呼叫幾次sort就要分別寫個別的threadproc
然後丟進去不同的參數去呼叫sort?
我想不通因為要是是這樣的話...今天要做一件很大的事情工程師不是就要手痠寫好幾萬
個threadproc1,threadproc2等等...才能做出multiple thread...
希望我以上敘述不會太難懂^^"...
程式跑出來的錯誤結果:已經把sort寫好,可是不知道怎麼運用win api製造
thread和用semaphore
(我想說先問thread使用方式,我自己花時間再研究semaphore)
這樣才不會被說是丟作業給鄉民做 囧...
開發平台: visual studio 2008
有問題的code: (請善用置底文標色功能)
void merge(int AstartingIndex, int sizeA, int BstartingIndex, int sizeB){
要合併sort array A 和 arrayB 到 arrayC
}
main(){
要製造thread?研究怎麼使用中..
}
補充說明:希望這樣的說明能證明我有研究過orz...
google也詢問過了..但是還是不太懂..
希望鄉民能幫我解惑關於createthread要怎麼使用的方法..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.64.6
→
12/12 15:39, , 1F
12/12 15:39, 1F
→
12/12 16:04, , 2F
12/12 16:04, 2F
→
12/12 16:04, , 3F
12/12 16:04, 3F
→
12/12 17:25, , 4F
12/12 17:25, 4F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章