在我的主線程中,我有一個while(listening)
循環,它在我的ServerSocket對象上調用accept()
,然後啓動新的客戶端線程,並在接受新客戶端時將其添加到集合中。如何中斷ServerSocket的accept()方法?
我也有一個管理線程,我想用它來發出命令,比如'exit',這會導致所有的客戶端線程關閉,關閉它,關閉主線程,通過轉向監聽假。
但是,在while(listening)
循環塊中調用accept()
,並且似乎沒有任何方法來中斷它,所以while條件不能再次檢查並且程序不能退出!
有沒有更好的方法來做到這一點?或者某種方式來中斷阻塞方法?
請參閱http://stackoverflow.com/questions/2804797/java-stop-server-thread – CuriousPanda 2010-06-06 10:27:28