多個執行緒呼叫同乙個執行緒函式

2021-06-04 17:29:45 字數 873 閱讀 3590

多個執行緒呼叫同乙個執行緒函式

如題,能這樣嗎?因為有很多個操作,但是這些操作都是一樣的,所以想用相同的執行緒函式,但是感覺執行時執行緒還是乙個乙個執行,並沒有提高速度,應該是我理解錯了!!老大些幫幫忙,給個建議
問題補充:

我的意思是執行緒處理函式,剛剛找了點資料,覺得這想法沒有錯,只要執行緒裡面不用全域性或者靜態變數就行,要用就要鎖,主要是這個問題,你這個模板太好了,我就想用這個,非常感謝
提問者:

76073424 -

二級

最佳答案

你提到的執行緒函式是一般函式還是生成執行緒的函式,或是用於執行特定函式的執行緒?

如果是在用vc中想用多個執行緒執行同樣的任務,而這些任務之間沒有通訊問題和記憶體共享的問題,那可以用下面的模板:

dword winapi taskthreadproc(lpvoid)

void runtaskusemultithread(int nthreadcount) // 執行緒個數為nthreadcount

for (i = 0; i < nthreadcount; i++) // 由於生成的是create_suspended的執行緒,所以這裡開始讓執行緒開始執行

resumethread(threads[i]);

waitformultipleobjects(nthreadcount, threads, true, infinite); // 等待執行緒執行結束

for (i = 0; i < nthreadcount; i++)

closehandle(threads[j]); // 銷毀執行緒

delete threads;

delete idthreads;

}

同乙個頁面多個div,ajax呼叫

最近在做專案的時候發現兩個問題,第乙個問題是在主頁面有多個div,在div裡面有input元素的onclick事件,在第一次開啟div的時候通過onclick呼叫ajax可以被執行,當關掉開啟的div重新再開啟的時候onclick事件不生效。第二個問題是兩個div呼叫ajax時會相互影響,當開啟第乙...

多執行緒併發同乙個表問題

table for update for update of a.id a1.有where條件時,鎖定條件中指定的資料行 行級封鎖 2.無where條件是,鎖定表a 表級封鎖 1.有where條件時,鎖定條件中指定的資料行 行級封鎖 2.無where條件是,鎖定表a 表級封鎖 a,b直接封鎖a,b表...

兩個執行緒同時呼叫同乙個處理函式的互斥問題

問題背景 在工作中遇到過乙個問題,就是在兩個執行緒同時呼叫同乙個函式的時候,到底是應該在這個函式的內部什麼處理上加上互斥。原因又是什麼?為了調查這個問題,我決定從以下三方面調查 1.執行緒中函式的呼叫 2.同乙個程序中的兩個執行緒呼叫同乙個處理函式 3.兩個不同程序中的兩個執行緒呼叫同乙個處理函式 ...