黑马程序员技术交流社区

标题: await()方法必须放在lock.lock()下面吗? [打印本页]

作者: 李杰    时间: 2012-8-19 19:55
标题: await()方法必须放在lock.lock()下面吗?
例如 public void set(String name)throws InterruptedException
        {
                lock.lock();//上锁
                try
                {
                        while(flag)
                                condition_pro.await()
; //   能不能放在lock.lock()上面,不能为什么
                        this.name=name+"----"+count++;
                        System.out.println(Thread.currentThread().getName()+"...生产者。。。"+this.name);
                        flag=true;
                        condition_cus.signal();//由signal()替换notify(),由signalAll()替换notifyAll()。只唤醒消费方法;
                }
                finally
                {
                        lock.unlock();
                }
        }




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