try {
wait();
} catch (InterruptedException e) {
System.out.println("这是您的电影票,收您10块,找您5块");
num5--;
num10++;
}
notifyAll();
上面是代码中的片段,请问各位,为什么没有执行catch里面的内容呢?
wait();
} catch (InterruptedException e) {
System.out.println("这是您的电影票,收您10块,找您5块");
num5--;
num10++;
}
notifyAll();
上面是代码中的片段,请问各位,为什么没有执行catch里面的内容呢?
当以wait方法等待时,与sleep一样可以取消.使用interrupt方法,可以对wait中的线程传达"不用等notify/notifyAll了,从等待中出来"的信号. 但是当线程wait时,有一点需要注意的,那就是锁的问题.线程进入等待状态时,会将自己拥有的锁释放,当对wait中的线程调用interrupt方法是,等待线程会重新获取锁,然后再抛出interruptedException.获取锁定之前,并无法抛出InterruptedException异
楼主可以参考经典的线程教学程序:生产者-消费者的例子.