c 多執行緒函式createthread如何使用

2021-04-18 06:02:24 字數 2059 閱讀 1670

1樓:假設還是如果

#include

#include

using namespace std;

/*handle createthread(lpsecurity_attributes lpthreadattributes,

size_t dwstacksize,

lpthread_start_routine lpstartaddress,

lpvoid lpparameter,

dword dwcreationflags,lpdword lpthreadid

);*/

dword winapi thread1proc(lpvoid argv)

int main()

vc++中通過createthread建立的執行緒,當執行緒入口函式執行完後,執行緒自己會關閉嗎?

2樓:匿名使用者

不會自己關閉來的。

正確源的做法是:

// 儲存執行緒

bai控制代碼du

handle hthread = createthread(.....)

// 等待執行緒完成zhi,如果是多執行緒的,需要呼叫waitformultipleobjects

waitforsingleobjects(max_threads,hthread,true,infinite);

// 最後dao關閉控制代碼

closehandle(hthread );

3樓:匿名使用者

執行緒函式結束 執行緒就結束 當然是關閉了; 但是 執行緒控制代碼要手動closehandle的 親

c++ 建立執行緒用createthread後,執行緒直接就開始執行了嗎?還是還要再給它一個命令才能執行?

4樓:試圖製造混亂

這要看你createtheread時的引數如何設的,handle createthread(

lpsecurity_attributes lpthreadattributes, // sd

dword dwstacksize, // initial stack size

lpthread_start_routine lpstartaddress, // thread function

lpvoid lpparameter, // thread argument

dword dwcreationflags, // creation option

lpdword lpthreadid // thread identifier

);第五個引數dwcreationflags :執行緒標誌,可取值如下

(1)create_suspended(0x00000004):建立一個掛起的執行緒,需要resumethread喚醒

(2)0:表示建立後立即啟用。

c++多執行緒同時執行兩個函式該怎樣程式設計啊?

5樓:

這個是完全取決於bai你的需求。如果du

你只是做控制同一個資料zhi源使用的,就可以dao一個執行緒,分

內別在收到不同的訊息,容呼叫不同的函式。畢竟你只有一個鍵盤,不會真的同時收到兩個事件。這種構架下面,兩個函式必須比較短不能有堵塞,或者等待(大多數情況是這樣的)。

另外一種情況是,當你的處理量比較大,則需要多執行緒,也就是三個執行緒,一個執行緒收訊息事件,另外兩個分別處理事件,如果你不是多核cpu,其結果和上面的構架是一樣的。在多執行緒構架下面,如果是對同一個資料體處理,那麼效果和前者是一樣,甚至更差。至於這麼建立多執行緒,我就不說,這個真的需要你自己去看看。

c++中createthread建立執行緒, 執行緒函式return後算不算已經銷燬了執行緒?

6樓:匿名使用者

算。c++11以後c++自身標準包含了多執行緒的功能。可以不用學winapi了

多執行緒有幾種實現方法,java多執行緒都有幾種方式實現??

執行緒建立 執行 handle handle1 dword id1 執行緒等待 waitforsingleobject handle1,infinite 執行緒同步 生產者消費者 handle m s consumer m s consumer createsemaphore null,0,20,n...

C語言基礎網路程式設計求助如何實現多執行緒

使用fork建立父子程序和socketpair進行監控即可 include include include include include include include include include include include include include void thread void...

c語言開發中,linux下的多執行緒和網路程式設計基礎,這些都有什麼用處?做什麼工作會用這多執行緒和socket呢

socket,主要是在網路開發應用中運用的到,多執行緒,在linux開發中單程序中可以建立多執行緒去處理不同的任務。這個很常用的。主要做網路方面的。網路產品一般都會有用到 比如 路由器 ap ac等等吧。多執行緒程式設計和socket是開發網路產品的基本功,把 unix網路程式設計 看會就可以做一般...