有如下代码
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) {
        
         }
        }
但是我在实例化服务器对象时,后面的线程就阻塞了,请问怎样解决这个问题,如果有实例给出解决方法最好,谢谢

解决方案 »

  1.   

    frame.thread.run();
    ---------------------
    应该是frame.thread.start();吧
      

  2.   

    尝试一下,在需要线程阻塞的地方用:
    synchronized (sLock) {
                try {
                    sLock.wait();
                } catch (InterruptedException e) {
                    
                }
            }需要唤醒的时候调用
    synchronized (sLock) {
                    sLock.notify();
                }而sLock可以声明并初始化为Object对象
      

  3.   

    frame.server = new serverAgent(5155);while(true) {
    try {
    frame.thread.run();
    }
    catch(InterruptedException ie) {}
    try {
    Thread.sleep(5000);
    }
    catch(InterruptedException ie) {}
    }