我没有使用任何选择器或其他类似的东西。我只有一个简单的
我试图让后台线程睡眠30秒,并检查变量是否仍然为
还有其他方法可以实现这一点吗?
更新:我的问题表述有误。我还想在读操作以及连接本身上设置超时。
ServerSocketChannel
监听和一个SocketChannel
以阻塞模式连接到它。我想在连接上强制设置超时时间,但是SocketChannel.socket().setSoTimeout()
不起作用。我试图让后台线程睡眠30秒,并检查变量是否仍然为
null
(因为它会阻塞等待读入该变量),但我无法正确同步变量,因为我无法在匿名类中访问本地变量。还有其他方法可以实现这一点吗?
更新:我的问题表述有误。我还想在读操作以及连接本身上设置超时。