A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© bullfrog 中级黑马   /  2014-9-2 23:40  /  954 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

还是不太理解线程池。

我的理解是:
如果直接用Object或者this之类的来当锁的话,这个锁又同时是惟一的一个监视器,
调用锁的 wait()方法的话,被wait的线程会被存储在线程池中。
再次对这个惟一的监视器调用 notify()的话,就会唤醒随机线程池中一个冻结的线程。

但是如果用java.util.concurrent.locks里的Lock 来创建锁的话,可以用 lock.newCondition()来创建多个分开的监视器。


那么我的问题是:
分别调用几个不同的监视器的 await()的话,被冻结的线程会到哪里去呢?
难道是有每个监视器,就有一个自己对应的线程池吗?

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马