割り込み(interruption)
対象スレッドの割り込みステータスを立て、sleep・wait・joinでブロック中ならInterruptedExceptionで起こす、Javaの停止・キャンセルの共通言語。
- 概念URI
https://comcomponent.com/knowledge/thread-interruption/
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- 割り込み(interruption)は協調キャンセルの実装を担います。interrupt()は対象スレッドの割り込みステータスを立て、sleep・wait・joinなどでブロックしていればInterruptedExceptionを投げて即座に起こす(このときステータスはクリアされる)。InterruptedExceptionをcatchして何もしないコードを書かず、終了できないならステータスを復元して呼び出し元へ合図を伝える。 / 確度: 確立した関係 / 確認日: 2026-08-02 出典
- 割り込み(interruption)はThread.stop / suspend / resumeの後継に当たります。Thread.stop / suspend / resumeは、不正な状態のままロックが解放されて壊れたオブジェクトが見えたり、suspendがデッドロックを招いたりするため本質的に安全でなく、現在は呼ぶとUnsupportedOperationExceptionになる。 / 確度: 確立した関係 / 確認日: 2026-08-02 出典
- ExecutorServiceの2段階シャットダウンは割り込み(interruption)を利用します。shutdown()は投入済みタスクを完走させつつ新規受付を止め、shutdownNow()は実行中タスクの停止を試みる。これはベストエフォートで、典型的な実装はThread.interrupt()でキャンセルするため、割り込みに応答しないタスクはshutdownNowでも止まらない。 / 確度: 確立した関係 / 確認日: 2026-08-02 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。