摘要: 3.2 线程复用:线程池 一种最为简单的线程创建和回收的方法类似如下代码: 在run方法结束后,自动回收。 在真实的生产环境中,系统由于真实环境的需要,可能会开启很多线程来支撑其应用。而当线程数量过大时,反而会耗尽CPU和内存资源。 3.2.1 什么是线程池 为了避免系统频繁地创建和销毁线程,我们可 阅读全文
posted @ 2018-01-20 20:55 _sanjun 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 3.1.2 重入锁的好搭档:Condition条件 它和wait()和notify()方法的作用是大致相同的。但是wait()和notify()方法是和synchronized关键字合作使用的,而Condition是与重入锁相关联的。通过Lock接口的Condition newCondition() 阅读全文
posted @ 2018-01-20 14:11 _sanjun 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 3.1 多线程的团队协作:同步控制 3.1.1 synchronized的功能扩展:重入锁 重入锁可以完全替代synchronized关键字。 重入锁使用java.util.concurrent.locks.ReentrantLock类来实现。下面是一段最简单的重入锁使用案例: public cla 阅读全文
posted @ 2018-01-20 10:04 _sanjun 阅读(123) 评论(0) 推荐(0) 编辑