黑马程序员技术交流社区

标题: 再问个关于多线程控制问题!<已解决> [打印本页]

作者: 飞舞❤心动    时间: 2012-6-8 16:50
标题: 再问个关于多线程控制问题!<已解决>
本帖最后由 飞舞❤心动 于 2012-6-8 23:00 编辑

wait();
notify();等等
控制多线程语句,为什么不能定义在其他对象下,一定要在Object对象下喃?如果可以定义在其他对象下如何做?
作者: 田林    时间: 2012-6-8 16:55
因为这些方法在操作同步线程时,都必须要标识他们所操作线程锁,只有同一个锁上的等待线程,可以被同一个锁notify唤醒。不可以对不同锁中的线程进行唤醒。也就是说,等待和唤醒的必须是同一锁。而锁可以使任意对象,所以可以被任意对象调用的方法定义Object类中。
作者: 杨天皓    时间: 2012-6-8 17:12
之所以这些操作线程的方法要定义在Object类中,是因为这些方法在操作同步线程时,都必须要标识他们所操作线程只有的锁。只有同一个锁上的被等待线程,可以被同一个锁上notify唤醒。
不可以对不同锁中的线程进行唤醒。也就是说,等待唤醒必须是同一个锁。而锁可以是任意对象,所以可以被任意对象调用的方法定义在Object类中








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2