Monitor.wait(...)是将线程放在等待队列中去。所以,它在把对象放到等待队列去之前,这个对象有可能是在就绪队列中,而且很有可能,特别是当其他的线程在这个线程等待之前有处理这个对象,那么它就在就绪队列当中了。 一开始就进入等待状态,也就是等别的线程调用Pulse或PulseAll。
Monitor.pulse(...)是将对象从当先的线程中放掉,让对象到就绪队列中去,可以让其他的线程来处理这个对象。让处于等待的线程进入就绪。
Monitor.wait(...)是将线程放在等待队列中去。所以,它在把对象放到等待队列去之前,这个对象有可能是在就绪队列中,而且很有可能,特别是当其他的线程在这个线程等待之前有处理这个对象,那么它就在就绪队列当中了。 一开始就进入等待状态,也就是等别的线程调用Pulse或PulseAll。
Monitor.pulse(...)是将对象从当先的线程中放掉,让对象到就绪队列中去,可以让其他的线程来处理这个对象。让处于等待的线程进入就绪。