|
分類:[.NET 全般]
VB.NETで外部呼出しによるメインスレッド(A)から生成した子スレッド(B)を開始する処理を行っています。 AとBは非同期でAは複数のクライアントより繰り返し呼ばれます。
BをAbortせずに子スレッド処理が終了した場合、これが繰り返されることで何か問題は起こるのでしょうか?
また、次のメインスレッド処理でAbortせずに既に終了したスレッドをAbortする方法はあるのでしょうか?
上記の試みとして、スレッドをユニークキーで配列に記憶させて次のメインスレッドでまずAbortしようとしたところ、 IsAliveがFalseになっており、スレッドオブジェクトにアクセスした時点でエラーになってしまいました。 (この時の他プロパティ情報はAbortした時と同じでした。)
一応、子スレッド処理の最後で無理矢理sleepさせて次のメインスレッドでsleepしたスレッドをAbortすると、成功しました。
NewしたスレッドをAbortせずに終了しても問題なければ、現状のままにしようと考えております。
ご教授下さい。
|