スレッドのループ処理はどうするの?


よう  2004-05-02 00:02:53  No: 53557

VC6.0を使っています。とっても初心者なんで宜しくお願いします。

今CreateThreadで作成したスレッドを不特定回数ループ処理するにはどうしたらいいのか悩んでます。回数が決まっているならHANDLEもあらかじめ用意してあげてfor文で回せばいいと思うんですけど…。


YuO  2004-05-03 00:05:05  No: 53558

スレッドを作ったからと言って,文法が変化するわけではありません。

ループの終了条件が満たされるまでループさせればよいだけです。


よう  2004-05-05 04:13:57  No: 53559

お返事有難うございます。
今、hThread1=CreateThread(NULL,0,fnThread1,0,0,&d);
のようにしてスレッドを作成し、起動しています。

通常通りで構わないということは、例えば
for(int i=0;i<5;i++){
 hThread1=CreateThread(NULL,0,fnThread1,0,0,&d);
}
みたいな場合はループの回数分戻り値であるスレッドハンドルを用意してあげないとだめですよねぇ?
そういう時はどうすればいいのでしょう?かさねがさね宜しくお願いします。


YuO  2004-05-05 05:50:15  No: 53560

> 通常通りで構わないということは、例えば
> for(int i=0;i<5;i++){
>  hThread1=CreateThread(NULL,0,fnThread1,0,0,&d);
> }

ん?
スレッドをループで複数個生成したい,ということですか?
#スレッド内でのループの話かと思った。

> みたいな場合はループの回数分戻り値であるスレッドハンドルを用意してあげないとだめですよねぇ?

vector<HANDLE>にでも突っ込めば問題ないです。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加