2016-09-27 4 views
0

スレッドの中断ステータスは、スレッドのライフサイクルの責任を負うコードによって配信され、処理されたときにクリアする必要があることを理解しています。中断を要求すべき唯一のコードは、「中断」ステータスが解釈に開かれているように見えるので、スレッドが協調するようにコーディングされているコード(通常スレッドを作成したもの)です。InterruptedExceptionをクリアしてInterruptedExceptionをスローしたり終了したりする必要はありませんか?

私が考えることができる唯一のシナリオは、いくつかの作業を中止するよう要求されたアプリケーションコンテナです。これを行うには、管理対象スレッドを中断させ、クリーンアップを行い、スレッドを続行します。しかし、これは、スレッドを終了させ、新しいスレッドを開始することが実際にはるかに簡単であるため、非常に複雑です。

スレッドが中断ステータスを「処理」し終わらないのはいつですか?

+0

私はこのImage Uploading物を持っており、私はイメージの配列を持っています。 1分間以上撮影して1枚の画像をアップロードする場合。私はそれを中断しますが、私はまだいくつかの他の画像をアップロードする必要があるので、スレッドを終了しません。 – Enzokie

+0

OKですが、イメージが中断する直前に完了したらどうなりますか? – sevo

+0

私が言及している配列は待ち行列であるため、まったく問題はありません。待ち行列に失敗したアップロードをキューに戻します。つまり、私は次のループサイクルでそれを再アップロードできます。 – Enzokie

答えて

0

原則として、中断とは、それが意味するものを意味します。問題は、あなたのコードがライブラリルーチンを呼び出しているときに割り込みが発生したとします。図書館の作者はそれが何を意味すると思いましたか? うまくいけば、のlib作成者は、現在の操作を中止し、クライアントが別のものを開始したい場合は、すべてを一貫した状態にしておくことを意味すると考えました。しかし、そのライブラリがいくつかヤフーが行うには唯一の真の安全なものは、プログラム全体をシャットダウンしている...

を書いたいくつかライブラリを呼び出すの真ん中にあるときにそれが発生した場合。

関連する問題