黑马程序员技术交流社区
标题: 多线程——线程池 [打印本页]
作者: 水蛭31 时间: 2015-6-19 11:13
标题: 多线程——线程池
多线程——线程池
当线程进入冻结状态是, 这个等待的线程存放在哪里呢?
线程运行的时候, 内存中会建立一个叫做线程池的,等待线程都存放在线程池中, 当notify的时候, 都是唤醒的是线程池中的线程,当线程池中有许多的线程都在等待,通常是唤醒第一被等待的线程,按照顺序来叫醒,
notify()只能唤醒线程池中的第一个等待的线程,如果需要全部唤醒的话,就需要notifyAll();
唤醒线程池中所有等待的线程(不管是本方的线程,还是另一个线程);
说明:想wait(),notify(),notifyAll(),这些都不是Thread类中的方法,而是继承来自Object类中的方法,
定义线程的,怎么定义在Object类中呢?
这里需要调用这些方法, 该线程必须拥有此对象的监视器(锁),而同步才有锁, 而且是同一个对象的锁,
而两个对象的锁是不一样的, 因此需要来标识是哪个对象的锁。
而锁是任意的对象,所以可以被任意对象调用的方法(wait(),notify(),notifyAll()),就定义在objec类中了,
作者: zuopiezi 时间: 2015-6-19 11:51
额。。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |