我创建多个线程,调用同一对象,其中一个线程对这个对象进行上锁(即同步) 当那个线程进行wait(); 则是不随机从其他线程中选一个线程来执行 ,当这个占有对象的的线程执行notify()
是不是返还给第一个线程(就那个调用wait的线程) 当这个占有对象的的线程执行 notifyAll()是不是随机从这些线程中选择一个(即不一定是调用wait的线程)
是不是返还给第一个线程(就那个调用wait的线程) 当这个占有对象的的线程执行 notifyAll()是不是随机从这些线程中选择一个(即不一定是调用wait的线程)
比如有2个人要进入一个房间
而那个房间只能进去一个人
同步语句就是这个房间的门
一个人进去了另外一个人就进不去(进程堵塞)
用notify()就是唤醒那个进程堵塞的人让他再次尝试进入房间
(notifyAll()同理醒所有进程堵塞的人让他再次尝试进入房间)
但是在前面那个进入房间的人没有出来前(就是把同步块的语句运行完)
其他的人不管怎么样都进不去