Java にはスレッドに対する割り込み機構があります。
スレッドからスレッドに interrupt シグナルを送って、割り込みたいという意思を伝える仕組みです。しかし、どんなスレッドでも interrupt を送れば割り込める、というような簡単なものではなく、割り込まれる側のスレッドが、interrupt シグナルを受け取ったときの処理を正しく実装していなければ、割り込むことはできません。
具体的には、InterruptedException や Thread.interrupted() のハンドリングを正しく行う必要があります。
今回はサンプルとして、繰り返し処理をし続けるスレッドを割り込み可能として作るためのちょっとした基底クラスを用意しましたので、見ていきたいと思います。
番町のITおじさんが書く、ITエンジニアの教養ブログです。様々なプログラミング言語やソフトウェア工学についての知識、ITやIT業界の歴史、動向などを取り上げます。
2020/05/02
登録:
投稿
(
Atom
)