Wait和Sleep的区别
Wait
释放同步锁
监视对象,直到其他线程调用notify(或者设置的等待时间到了),获得对象的所有权,然后继续执行
ps:其他线程要notify的前提是获得这个对象的同步锁,必须写在synchronized(lockobj) {...}之中
sleep
不释放同步锁
一直保持对象的所属权,等待时间到了之后然后继续前进。
对于线程的同步,使用wait与notify要安全的多。
Wait
释放同步锁
监视对象,直到其他线程调用notify(或者设置的等待时间到了),获得对象的所有权,然后继续执行
ps:其他线程要notify的前提是获得这个对象的同步锁,必须写在synchronized(lockobj) {...}之中
sleep
不释放同步锁
一直保持对象的所属权,等待时间到了之后然后继续前进。
对于线程的同步,使用wait与notify要安全的多。