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


よう  2004-05-02 00:02:53  No: 53557  IP: [192.*.*.*]

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

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

編集    削除
YuO  2004-05-03 00:05:05  No: 53558  IP: [192.*.*.*]

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

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

編集    削除
よう  2004-05-05 04:13:57  No: 53559  IP: [192.*.*.*]

お返事有難うございます。
今、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  IP: [192.*.*.*]

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

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


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

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

編集    削除