在我的主线程中,我有一个 while(listening)
循环,它在我的 ServerSocket
对象上调用 accept()
,然后启动一个新的客户端线程,并在接受新客户端时将其添加到 Collection 中。
我还有一个管理线程,我想用来发出命令,如 'exit'
,这将导致所有的客户端线程关闭,关闭本身,并关闭主线程,通过转向监听 false。
但是,while(listening)
循环中的 accept()
调用阻塞了,而且似乎没有任何方法来中断它,所以 while 条件无法再次检查,程序也无法退出!
有没有更好的方法来做到这一点? 或者某种方法来中断阻塞方法?