为什么wait, notify 和 notifyAll这些方法不在thread类里面?

提问者:帅平 问题分类:面试刷题

为什么wait, notify 和 notifyAll这些方法不在thread类里面?

1 个回答
Rae
Rae 管理员

一个很明显的原因是JAVA提供的锁是对象级的而不是线程级的,每个对象都有锁,通过线程获得。如果线程需要等待某些锁那么调用对象中的wait()方法就有意义了。如果wait()方法定义在Thread类中,线程正在等待的是哪个锁就不明显了。简单的说,由于wait,notify和notifyAll都是锁级别的操作,所以把他们定义在Object类中因为锁属于对象。

发布于:1个月前 (10-20)
我来回答