我的服务器被Thread.sleep卡住了?

时间:2016-03-18 11:38:01

标签: multithreading server heartbeat

我将此代码作为每个客户端的线程执行,以检测我服务器中用户的断开连接:

<meta name="viewport" content="initial-scale=1, maximum-scale=1,width=device-width,user-scalable=no" />

睡觉之前的服务器放了user.setDisconnected(true);如果客户端在唤醒之前发送响应,我将更改为user.setDisconnected(false);在其他方法()中,所以这个线程不会退出客户端,除非在延迟期间没有得到任何消息......这样可以正常工作,但有时随机我可以检查一下消息&#34;睡觉......&#34;不会出现消息&#34;我醒了!&#34; (!!!),最糟糕的是所有我的程序都得到了冻结,所以服务器不再监听或发送消息给任何客户端了:(即使是这些在分离的线程中执行!....

我不知道为什么会发生这种情况,但我认为所有问题都是由Thread.sleep()中的一些最终致命错误引起的。可能吗?但是我没有收到任何错误消息(例外e){},所以我疯了xD

请帮助!!

0 个答案:

没有答案