[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: [jfriends] Re: Thread#interrupt()




こんにちは。下村です。

すっかり遅くなってしまいましたが...

> 思っているのですが、いまだにInputStream#read()やServerSocket#accept()
> を外部からやめさせる方法が分かっていません.

ServerSocket#accept() のほうは分かりました。
ServerSocket#setSoTimeout() を使ってタイムアウトまでの時間を短く
( 1millisecとか )に設定しておくと、accept() はすぐに戻ってきます。
このとき InterruptedIOException を投げますので、これを
catch してループしておけば、外部から Thread#interrupt() を使って
安全に止めることができます。
やはり強引に close() するのは間違いでしたね。ごめんなさい。

#でもInputStream#read() のほうは相変わらず強引な方法しか
#わかりません...

         === == =  TACT/下村哲人  神奈川県横浜市  = == ===
          === == =       E-mail: tact@xxxxxxxxxx      = == ===