问题描述
在执行任何读/写操作之前,我有一个线程繁忙循环,直到我的ServerSocket
对象绑定到端口为止。
new Thread(() -> {
while (!server.isBound()) {
Thread.yield(); // hmm ... any better alternative????
}
while (!server.isClosed()) {
// do stuff regarding server and clients
}
},"Server Connection Accept Thread").start();
我在繁忙循环中使用Thread.yield()
来让其他线程运行(如果有的话),但是Thread.yield()
的javadoc说
很少使用此方法。对于调试或测试目的,它可能很有用,因为它可能有助于重现由于竞争条件而产生的错误。
现在,我这里没有争用条件,我只需要等待套接字绑定,并且由于套接字绑定时没有回调,因此我只能使用这种方法。有什么建议吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)