スレッドを開始したときに、スレッドが (最大で) 存続する時間の値を設定する方法はありますか?
別の言い方をすれば、「疑似コード」を使用すると、次のようなものがあります。
Thread t = new Thread();
t.start();
t.abort_after_x_seconds(30);
スレッドが 30 秒以上存続すると、スレッドが中止されます。
編集:私はまだそれを機能させることができません.私が最初に持っていたものは:
while(true)
{
if(...)
{
Thread t = new Thread(new ThreadStart(startMethod));
t.start();
}
Thread.sleep(...);
}
問題は、スレッドがハングすることがあることです (私はスレッドが何をするかを実装していないので、正確な理由はわかりません (これは学校のプロジェクトであり、私たちは組織化に慣れていません))、それらのスレッドを強制終了したいと考えています。以下の例のように、Tasks と CancellationTokens を使用してみましたが、Task がハングすると、キャンセル要求が発生したかどうかを確認できません。