synchronized
if判断标记,只有一次,会导致不该信息的线程运行了,出现了数据错误的情况
while判断标记,解决了线程获取执行权之后,是否要运行!
notify 只能唤醒一个任意线程,如果唤醒了本方,没有任何意义,而且while判断标记会导致死锁
noyifyall 解决了本方线程一定会唤醒对方线程的问题
Lock lock=new ReentrantLock();
lock.lock();
tyy{
}
finly{
lock.unlock();