を呼び出すmain()
のコードがあります。 function_one()
ではスレッドと呼び出し関数function_two()
を作成しています。今問題はmain()
がfunction_one()
を複数回呼び出していて、function_one()
が呼び出されるたびに新しいスレッドを作成しているということです。このコードでは、4つ以上のスレッドを使用することはできません。変更することはできません。main()
function_one()
への以前の呼び出し中に作成されているスレッドを再利用できる方法はありますか?スレッドを複数回作成する呼び出し方法
これは、私が働いている何のための擬似コードです:あなたは、あなたのワーカースレッドをウェイクアップするワーカースレッド、およびcondition_variablesが必要
main()
{
int x=1,y=2;
while(1) {
x++;y++;
function_one(x,y);
}
}
function_one(int x, int y)
{
pthread_t ax; //initialization is missing
pthread_create(ax,NULL,&function_two,NULL);
}
function_two()
{
//some operation
}
注意してください: 'pthread_t ax; pthread_create(&ax、NULL、function_two、NULL); ''&ax'の前のアンパサンドはオプションではなく、 'function_two'の前のアンパサンドは)です。コンパイラは 'pthread_create()'を誤って実行したことを伝えるべきです。そうでない場合は、深刻な問題があります。 –