非同期デリゲートのスレッド破棄
- 題名: 非同期デリゲートのスレッド破棄
- 著者: FOP
- 日時: 2005/08/16 9:41:03
- ID: 12219
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 非同期デリゲートのスレッド破棄
- 著者: ukishima
- 日時: 2005/08/16 11:30:39
- ID: 12220
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 非同期デリゲートのスレッド破棄
- 著者: FOP
- 日時: 2005/08/16 12:28:02
- ID: 12221
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 非同期デリゲートのスレッド破棄
- 著者: 渋木宏明(ひどり)
- URL: http://hidori.jp/
- 日時: 2005/08/16 21:47:17
- ID: 12231
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 非同期デリゲートのスレッド破棄
- 著者: FOP
- 日時: 2005/08/17 0:09:11
- ID: 12233
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: 非同期デリゲートのスレッド破棄
- 著者: 渋木宏明(ひどり)
- URL: http://hidori.jp/
- 日時: 2005/08/17 12:16:40
- ID: 12235
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: 非同期デリゲートのスレッド破棄
- 著者: FOP
- 日時: 2005/08/17 16:43:38
- ID: 12242
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
いつもお世話になっております。
非同期デリゲートで処理が終了したら
スレッドがすぐには破棄されないのでしょうか。
外部プロセスからProcess.Threads.Countを使って
スレッド数を監視したのですが、
button1_Clickでスレッド数が1増加しましたが、
1減るのはMyCallbackを通ってから5分ぐらい
経ってからでした。終了後すぐにスレッドを破棄させることは可能でしょうか?
Threadクラスを用いたマニュアルスレッドならすぐに破棄されるようです。
以下がコードです。よろしくお願いします。
private delegate void ThreadMethodDelegate(); //
private static ThreadMethodDelegate threadMethodDelegate; //
private void button1_Click(object sender, System.EventArgs e)
{
threadMethodDelegate = new ThreadMethodDelegate(MyMethod); //
// デリゲートによるスレッド処理呼び出し
AsyncCallback callBack = new AsyncCallback( MyCallback );
threadMethodDelegate.BeginInvoke( callBack, DateTime.Now ); //
}
// 別スレッドで呼び出されるメソッド
private void MyMethod()
{
Console.WriteLine( "Method" );
}
// スレッド処理終了後に呼び出されるコールバック・メソッド
private void MyCallback( IAsyncResult ar ) //
{
Console.WriteLine( "Callback" );
}