线程间通信注意的问题


在同步代码块中,用哪个对象锁,就用哪个对象调用wait方法


为什么wait方法和notify方法定义在Object这个类中?

* 锁对象可以是任意对象,那么任意对象对应的类都是Object类的子类,

* 也就是Object是所有的类的基类,所以将将方法定义在Object这个类中就会让任意对象对其调用所以wait方法和notify方法需要定义在Object这个类中


sleep方法和wait方法的区别?

* sleep在同步代码块或者同步函数中,不释放锁

* wait在同步代码块或者同步函数中,释放锁

* sleep方法必须传入参数,参数其实就是时间,时间到了自动醒来

* wait方法可以传入参数,也可以不传入参数

* 如果给wait方法传入时间参数,用法与sleep相似,时间到就停止等待(通常用的都是没有参数的wait方法)

原文地址:https://www.cnblogs.com/loaderman/p/6411201.html