美文网首页
为什么sleep是Thread的方法而不是Object的

为什么sleep是Thread的方法而不是Object的

作者: java迷途小菜鸡 | 来源:发表于2020-06-15 16:52 被阅读0次

    1.在java的内置锁机制中,每个对象都可以成为锁,也就是说每个对象都可以去调用wait,notify方法,而Object类是所有类的一个父类,把这些方法放在Object中,则java中的所有对象都可以去调用这些方法了。

    2.一个线程可以拥有多个对象锁,wait,notify,notifyAll跟对象锁之间是有一个绑定关系的,比如你用对象锁aObject调用的wait()方法,那么你只能通过aObject.notify()或者aObject.notifyAll()来唤醒这个线程,这样jvm很容易就知道应该从哪个对象锁的等待池中去唤醒线程,假如用Thread.wait(),Thread.notify(),Thread.notifyAll()来调用,虚拟机根本就不知道需要操作的对象锁是哪一个。

    相关文章

      网友评论

          本文标题:为什么sleep是Thread的方法而不是Object的

          本文链接:https://www.haomeiwen.com/subject/uurhxktx.html