DOBON.NET DOBON.NETプログラミング掲示板過去ログ

複数のスレッドが、全て終了するタイミングの関知について

環境/言語:[XP sp2,C#,.NET2.0以降]
分類:[.NET]

2008/05/04(Sun) 03:13:22 編集(投稿者)

先輩方にお聞きしたいのですが、
スレッドプールを用いて
再起的に、作成・増加していくスレッドがあり
(それぞれのスレッドの作成数は実行時の環境により変化し、その終了までの時間もばらばらである)
全ての、作成したスレッドの終了を関知するにはどうしたらいいでしょうか?


タイマを用いて、ThreadPool.GetAvailableThreads()から
スレッドの数が、スレッド作成前と同じであることにより判断するしか方法はないでしょうか?
(スレッド作成中に、FileSystemWatcherのイベントが非同期で発生することがあり不安定かもしれない)

キューに登録する特定のメソッドだけ、実行されていないことを確認する方法はないでしょうか?
■No21987に返信(ahoさんの記事)
> 全ての、作成したスレッドの終了を関知するにはどうしたらいいでしょうか?
>

メイン処理で、スレッドの終了イベントを監視して数を調べるとか
開始でも同じですね。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=2748&KLOG=3
http://www.atmarkit.co.jp/fdotnet/mthread/mthread02/mthread02_03.html
やじゅさん迅速な返信ありがとうございます。
自分の考えが足りませんでした。

全てのスレッドが終了したジャストのタイミングは、判断出来ませんが、
スレッドの作成時にタイマーを開始させることで対処するこにしました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板