黑马程序员技术交流社区

标题: 为什么 wait() 没执行。 [打印本页]

作者: yuehaotian    时间: 2013-12-21 19:41
标题: 为什么 wait() 没执行。
class Demo
{
        public static void main(String[] args){
                text1 tx1 = new text1();
                text2 tx2 = new text2();
                Thread t1 = new Thread(tx1);
                Thread t2 = new Thread(tx2);
                t1.start();
                t2.start();
        }
}

class text1 extends Thread
{
        public void run(){
                for(int x=0;x<10;x++){
                        if(x==5)
                                try
                                {
                                        wait();
                                }
                                catch (Exception e)
                                {
                                        System.out.println("等待失败");
                                }
                        System.out.print(x);
                }
        }
}

class text2 extends Thread
{
        public void run(){
                for(int x=0;x<10;x++){
                        System.out.print("哈哈"+x);
                }
        }
}

运行的时候  说等待失败,怎么回事??

作者: 丑男先生。    时间: 2013-12-21 21:00
用wait()的时候 线程就处在等待状态,没有被唤醒。 wait()方法在 object类中 你查下api文档 就知道了
作者: yuehaotian    时间: 2013-12-21 21:29
丑男先生。 发表于 2013-12-21 21:00
用wait()的时候 线程就处在等待状态,没有被唤醒。 wait()方法在 object类中 你查下api文档 就知道了 ...

我就是想打印出,线程等待时的输出效果,怎么实现???
作者: 一年之后    时间: 2013-12-21 21:39
等待唤醒机制,必须用在同步中。
他们必须用同一个锁的对象,来使用wait(),和notify(),notifyAll()





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2