【发布时间】:2011-02-28 08:32:46
【问题描述】:
在我的主线程中,我有一个while(listening) 循环,它在我的ServerSocket 对象上调用accept(),然后启动一个新的客户端线程并在接受新客户端时将其添加到集合中。
我还有一个管理线程,我想用它来发出命令,比如'exit',这将导致所有客户端线程关闭,关闭自己,关闭主线程,通过监听假的。
但是,while(listening)循环中的accept()调用阻塞了,而且似乎没有办法中断它,所以无法再次检查while条件,程序无法退出!
有没有更好的方法来做到这一点?或者有什么方法可以中断阻塞方法?
【问题讨论】:
-
对于想要等待 x 时间然后做出反应的人,请使用 setSoTimeout()。