在介绍线程间通信的时候讲过一个生产者消费者的例子
假如已经创建 one two 两个生产线程
public synchronized void set(String name)
{
if(fiag) //定义boolean 变量
{
try{this.wait()} catch(Exception e){} // 问题在这里!
}
//省略下面代码 .......
}
为什么在讲的时候 当 one 线程等待执行后, two 线程就会执行起来 也会执行try 里面的内容 开始等待
函数 不是已经被 synchronized 修饰过了吗? 必须等 one 线程出去后 才能执行 two 线程吗?
求高人指导一下! |