Java のソケットから読み取りたいスレッドでクライアントを実行しています。しかし、読んでいるうちに、スレッドを殺したいと思うかもしれません。だから私はinterrupt
それをしますが、ソケットの読み取りメソッドはスローしInterruptedException
ますか? 見つかりませんでした。
では、スレッドがソケットの読み取りをブロックしているときにスレッドを終了させるにはどうすればよいでしょうか?
ありがとう
Java のソケットから読み取りたいスレッドでクライアントを実行しています。しかし、読んでいるうちに、スレッドを殺したいと思うかもしれません。だから私はinterrupt
それをしますが、ソケットの読み取りメソッドはスローしInterruptedException
ますか? 見つかりませんでした。
では、スレッドがソケットの読み取りをブロックしているときにスレッドを終了させるにはどうすればよいでしょうか?
ありがとう
NIOチャネルにはInterruptableChannelがあり、ブロッキング操作で中断されます。NIOをブロッキング操作で使用できるため、Java IOとほぼ同じように機能します。つまり、セレクター/ディスパッチャーなどを使用するためにアプリケーションを再開発する必要はありません。
ソケットIO操作でブロックしているスレッドを即座に終了する方法は回答されていますか?
基本的にclose()
、ソケットを使用すると、関連付けられているすべてのストリームが閉じられ、ブロックされていたすべての操作がブロック解除されます。
または、呼び出すThread.interrupt()
と、ブロッキング操作が中断され、InterruptedException
.