不理解finally在这里的作用?说是释放资源,一定会执行的语句,那它是什么时候执行?按怎么顺序执行的?异常里的时候我理解,问题是我看到关于LOCK锁的那一块,- public void set(String name)throws InterruptedException
- {
- lock.lock();
- try
- {
- while(flag)
- condition_pro.await();//t1,t2
- this.name = name+"--"+count++;
- System.out.println(Thread.currentThread().getName()+"...生产者.."+this.name);
- flag = true;
- condition_con.signal();
- }
- finally
- {
- lock.unlock();//释放锁的动作一定要执行。
- }
- }
复制代码 那个lock.unlock();不是程序都都上一步里等待了吗?怎么进入到下一步的?
|