码迷,mamicode.com
首页 > 编程语言 > 详细

多线程---等待唤醒机制

时间:2015-02-11 10:41:19      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

线程执行当中,线程是放在线程池中的。 

线程运行当中通常使用了wait()方法等待的话,再使用notify()唤醒线程,通常唤醒的是线程池中等待的第一个线程。

而用notifyAll()则是唤醒全部线程 。

以上三种红字的方法:

wait()、notify()、notifyAll()必须使用在同步synchronized中

因为对持有监视器(锁)的线程才能操作。

 

注意:

这三种方法 wait()、notify()、notifyAll()是定义在java.lang.Object这个父类当中的,线程是从这继承来的。

为什么要定义在父类java.lang.Object中呢?

是因为在操作线程时候,必须要标示他们操作线程锁持有的“锁”,只有同一个锁的等待线程 ,可以被notify()唤醒。

而“锁” 可以是任意对象,所以可以被任意对象调用的方法定义在Object中。

多线程---等待唤醒机制

标签:

原文地址:http://www.cnblogs.com/kevinfuture/p/4285377.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!