日期:2014-05-20  浏览次数:20804 次

线程被阻塞,怎么办
有如下代码
frame.server   =   new   serverAgent(5155);
               
                  while(true)   {
               
               
                try   {
                frame.server.sleep(3000);
                }
                catch(InterruptedException   ie)   {
               
                }
                frame.thread.run();
               
                try   {
                Thread.sleep(5000);
                }
                catch(InterruptedException   ie)   {
               
                }
                }
但是我在实例化服务器对象时,后面的线程就阻塞了,请问怎样解决这个问题,如果有实例给出解决方法最好,谢谢

------解决方案--------------------
frame.thread.run();
---------------------
应该是frame.thread.start();吧
------解决方案--------------------
尝试一下,在需要线程阻塞的地方用:
synchronized (sLock) {
try {
sLock.wait();
} catch (InterruptedException e) {

}
}

需要唤醒的时候调用
synchronized (sLock) {
sLock.notify();
}


而sLock可以声明并初始化为Object对象