关于Java中多线程中的sleep和wait的区别
首先可以看下IDEA中,sleep和wait最直观的区别:
可以看出sleep为斜体,wait为普通体,在IDEA中斜体表示为静态方法,而静态方法和对象无关,也就是sleep方法,不可能获取到对象锁,也就无法释放对象锁(但是也存在锁,类锁)
而此处代码所写,也就意味着sleep和t1无关,不可能让t1线程休眠,而sleep方法会让当前调用这个方法的线程休眠
而wait为普通体,普通体为成员方法,和对象有关,可以获取对象锁,当然也可以释放对象锁
下面的代码就意味着wait方法和t2有关,会让t2线程等待

浙公网安备 33010602011771号