問題描述:有4個執行緒和1個公共的字元陣列。執行緒1的功能就是向陣列輸出a,執行緒2的功能就是向字元輸出b,執行緒3的功能就是向陣列輸出c,執行緒4的功能就是向陣列輸出d。要求按順序向陣列賦值abcdabcdabcd,abcd的個數由執行緒函式1的引數指定。[注:c語言選手可使用windows sdk庫函式]
介面說明:
void init(); //初始化函式
void release(); //資源釋放函式
unsignedint__stdcall threadfun1(pvoid pm) ; //執行緒函式1,傳入乙個int型別的指標,用於初始化輸出a次數,資源需要執行緒釋放
unsignedint__stdcall threadfun2(pvoid pm) ;//執行緒函式2,無引數傳入
unsignedint__stdcall threadfun3(pvoid pm) ;//執行緒函式3,無引數傳入
unsigned int __stdcall threadfunc4(pvoid pm);//執行緒函式4,無引數傳入
char g_write[1032]; //執行緒1,2,3,4按順序向該陣列賦值。
#include #include #include using namespace std;
char g_write[1032];
int num=0;
int iloop=0;
handle getthreadeve[4];
handle hthread[4];
unsigned int __stdcall threadfun1(pvoid pm)
_endthreadex(0);
return 0;
}unsigned int __stdcall threadfun2(pvoid pm)
{ for (int i=0;i>num;
int *n=null;
init();
n=(int*)malloc(sizeof(int));
*n=num;
hthread[0]=(handle)_beginthreadex(null,0,threadfun1,n,0,null);
hthread[1]=(handle)_beginthreadex(null,0,threadfun2,null,0,null);
hthread[2]=(handle)_beginthreadex(null,0,threadfun3,null,0,null);
hthread[3]=(handle)_beginthreadex(null,0,threadfun4,null,0,null);
waitformultipleobjects(4,hthread,true,infinite);
release();
cout<
多執行緒問題
程式 是由多個程序組成的。可以理解為靜態的 程序 可以理解為執行中的程式。執行緒 是組成程序的單元,乙個程序中有多個執行緒。我們經常把執行緒看做是程序中的某乙個任務。方式一 繼承乙個thread類 方式二 實現乙個runnable介面 兩種方式相比較,哪個能好點那?一般建議是實現runnable介面...
多執行緒問題
執行緒先達到corepoolsize,達到了去排隊 佇列滿了就去新建執行緒,達到了maxpoolsize 就執行拒絕策略了。所以大家在取queuesize的時候,就要取getthreadpoolexecutor getpoolsize getthreadpoolexecutor getqueue s...
多執行緒問題
多執行緒的實現方式 1.繼承thread類 2.實現runnable介面 3.實現callable介面 資源類實現callable介面,main方法中 futuretask ft new futuretask 實現callable介面的資源類的物件 new thread ft,threadname ...