Java并发编程:如何防止在线程阻塞与唤醒时死锁