在編寫C程式什麼時候就需要建立執行緒

2021-03-03 20:41:39 字數 2209 閱讀 6293

1樓:椎冰

為了讓程式去"分心"做別的事情的時候,

可以減少等待時間,就好像你可以一邊吃飯一邊看電視,這裡吃飯跟看電視就是兩條不同的執行緒

而不是你要吃完飯才能看電視...(這就是單執行緒)

2樓:匿名使用者

1.同時執行不同任務

2.希望能時刻準備處理使用者的取消指令,需要有一個執行緒時刻監視滑鼠或者鍵盤

3.分散任務

4.有一個程序可能陷入死迴圈,需要一個程序監視並適時強制終止它。

3樓:匿名使用者

譬如說你需要在程式執行過程中額外處理一些邏輯操作,加入你在列印資訊,同時需要等待外面給你傳送停止的指令,這時你就可以以主執行緒來列印,另外建立一個執行緒來執行迴圈等待接收命令。

windows下用c++建立程序,再建立兩個執行緒

4樓:匿名使用者

我寫的**,沒編譯,你試試行不行

dword winapi sumthread(lpvoid lp)//求和執行緒

return 0;//執行緒返回

}dword winapi multhread(lpvoid lp)//求階乘執行緒

return 0;

}dword winapi printthread(lpvoid lp)//列印執行緒

void main()

5樓:匿名使用者

教你吧:

1.定義三個函式,執行緒函

數:f1(1..100); f2(10!); f3(print);

2.createthread():f3

3.在f3()中:createthread(),createthread();

6樓:匿名使用者

三樓的可以

定義一個主執行緒裡面包含兩個子執行緒

7樓:匿名使用者

lz作業還是要自己做

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

8樓:試圖製造混亂

這要看你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++程式中一般會建立(2*處理器個數+2)左右個執行緒個數?

9樓:

這沒規定吧,關鍵還是看你用執行緒來幹嘛,就假設一個**軟體,就多少個cpu核心可能也會想要8到10執行緒以上,但是假設你的程式就是計算pi值或者類似的東西,那應該執行緒數等於核心數就得了,多了加上執行緒切換的開銷之類的,也不值當吧。不知道你的這個公式是從哪找到的

10樓:貓不愛的蟲子

恩,在iocp(完成埠)的相關資料中有提及類似的說明,主要是為了儘可能的發揮處理器的處理能力。每個核心對應兩個執行緒排程,如果負荷比較大的的話,效率應該很好。

11樓:匿名使用者

有這個說法嗎 我們公司就用雙核處理器 開一二十個執行緒

c++在一個建立好的執行緒裡面還能在建立執行緒嗎

12樓:匿名使用者

可以,main函式可以稱作程式的主執行緒,主執行緒也是執行緒

在matlab編寫程式中什麼時候要用點運算,什麼時候不用

兩個bai 矩陣或向量裡面,對應du位置的元素各自運算,zhi就用點運算。其他情況都是dao不用.比如a 1 2 3 4 b 2 2 2 2 對應元版素相乘就是 a.b 2 4 6 8 如果直接寫權 a b會報錯,因為直接寫 就是矩陣乘法,a的列數不等於b的行數,不能相乘 簡單的說,matlab一般...

c語言中a b什麼時候,c語言中a b什麼時候

a b中的 是按位與操作,其規則為,當a和b對應位上的值均為1時,結果的該位上為1,否則結果該位上為0。即1 1 1 1 0 0 0 1 0 0 0 0 所以,a b結果為1的情況有很多種,只要a和b的最低位均為1,其它位上均不同時為1即可。如0x33 0x41 或0xff 0x01等等。符號 在c...

C羅什麼時候踢球的,C羅什麼時候開始踢足球的

c羅從10歲開始踢球。少年時期c羅的出色表現很快引起了當地的國民俱樂部的注意,於是c羅成為國民隊一名小有名氣的小球星。1998年,葡萄牙勁旅里斯本競技也為c羅的天賦所折服,他們以1500英鎊的低價引進了年僅13歲的c羅。在里斯本競技的阿克契特 alcochete 訓練營,c羅接受了5年嚴格 科學的訓...