黑马程序员技术交流社区

标题: 在多线程中,线程被唤醒时if和while是怎样的流程 [打印本页]

作者: 老外    时间: 2015-1-20 14:48
标题: 在多线程中,线程被唤醒时if和while是怎样的流程
刚刚看了视频,在下面的代码里,如果是用if判断的话,线程被唤醒时为什么会直接往下进行,而用while的时候,线程会回去再次判断条件的真假啊?帮忙解释一下,我自己没弄明白!
public synchronized void set(String name)
        {
                while(flag)
                        try{wait();}catch(Exception e){}线程在这里停止,被唤醒时,如果用if就是继续向下执行,而while就是返回上面从新判断?
                this.name = name+"--"+count++;

                System.out.println(Thread.currentThread().getName()+"...生产者..."+this.name);
                flag = true;
                this.notifyAll();
        }




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