C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: スレッドの終了


(過去ログ 49 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■26650 / inTopicNo.1)  スレッドの終了
  
□投稿者/ モー (31回)-(2008/10/16(Thu) 16:09:28)

分類:[.NET 全般] 

VB.NETで外部呼出しによるメインスレッド(A)から生成した子スレッド(B)を開始する処理を行っています。
AとBは非同期でAは複数のクライアントより繰り返し呼ばれます。

BをAbortせずに子スレッド処理が終了した場合、これが繰り返されることで何か問題は起こるのでしょうか?

また、次のメインスレッド処理でAbortせずに既に終了したスレッドをAbortする方法はあるのでしょうか?


上記の試みとして、スレッドをユニークキーで配列に記憶させて次のメインスレッドでまずAbortしようとしたところ、
IsAliveがFalseになっており、スレッドオブジェクトにアクセスした時点でエラーになってしまいました。
(この時の他プロパティ情報はAbortした時と同じでした。)

一応、子スレッド処理の最後で無理矢理sleepさせて次のメインスレッドでsleepしたスレッドをAbortすると、成功しました。


NewしたスレッドをAbortせずに終了しても問題なければ、現状のままにしようと考えております。


ご教授下さい。
引用返信 編集キー/
■26671 / inTopicNo.2)  Re[1]: スレッドの終了
□投稿者/ Hongliang (304回)-(2008/10/16(Thu) 22:24:50)
むしろ Thread.Abort は一般的に呼び出すべきではありません。
そのまま自然死させるだけで十分です。
引用返信 編集キー/
■26674 / inTopicNo.3)  Re[2]: スレッドの終了
□投稿者/ モー (33回)-(2008/10/17(Fri) 01:54:26)
2008/10/17(Fri) 01:54:43 編集(投稿者)

No26671 (Hongliang さん) に返信
> むしろ Thread.Abort は一般的に呼び出すべきではありません。
> そのまま自然死させるだけで十分です。

安心しました。無理に殺した方が良いと思っておりましたもので。

ありがとうございます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -