java并发编程实战
文章平均质量分 90
十二遇见
所以我时常害怕,愿中国青年都摆脱冷气,只是向上走,不必听自暴自弃者流的话。能做事的做事,能发声的发声。有一分热,发一分光,就令萤火一般,也可以在黑暗里发一点光,不必等候炬火。此后如竟没有炬火:我便是唯一的光。倘若有了炬火,出了太阳,我们自然心悦诚服的消失。不但毫无不平,而且还要随喜赞美这炬火或太阳;因为他照了人类,连我都在内。我又愿中国青年都只是向上走,不必理会这冷笑和暗箭。纵令不过一洼浅水,也可以学学大海;横坚都是水,可以相通。几粒石子,任他们暗地里掷来;几滴秽水,任他们从背后泼来就是了这还算不到“大侮蔑”——因为大侮蔑也须有胆力。
展开
-
线程安全和对象共享
一、线程安全类 1.定义:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协调,这个类都能表现出正确的行为,那么就称这个类是线程安全类。2.确保线程安全的方法 (1)无状态对象:不包含任何域,也不包含任何对其他类中的域的引用。计算过程中的临时状态仅存在于线程栈上的局部变量中,并且只能由正在执行的线程访问。public cla原创 2017-04-19 19:55:53 · 446 阅读 · 0 评论 -
容器类的同步
一、容器同步类 1.同步容器类复合操作容易出现的问题: JDK中同步容器类包括两部分: 早期JDK中的Vector和Hashtable; JDK1.2引入的同步包装类,即由Collections.synchronizedXxx工厂方法创建的容器类。 同步容器类都是线程安全的,它们提供的基本操作都是原子操作,但是对于诸如迭代、导航和缺少即加入的条件运算等复合操作来说,通常需要使用额外的客户端原创 2017-04-20 21:36:44 · 306 阅读 · 0 评论 -
线程池基础
一.Executor线程池三种线程执行策略 JDK中的Executor框架是基于生产者-消费者模式的线程池,提交任务的线程是生产者,执行任务的线程是消费者。 Executor线程池可以用于异步任务执行,而且支持很多不同类型任务执行策略,同时为任务提交和任务执行之间的解耦提供了标准方法。 (1).顺序执行: 类似于单线程顺序执行任务,优点是实现简单;缺点是扩展性受限,执行效率低下,例子代码如下原创 2017-04-23 22:24:35 · 212 阅读 · 0 评论 -
线程池高级
一.估算线程池最优大小: Ncpu = CPU的数量 = Runtime.getRuntime().availableProcessors(); Ucpu = 目标CPU的使用率, 0 <= Ucpu <= 1; W/C = 等待时间与计算时间的比率; 为了保持处理器达到期望的使用率,最优的线程池大小等于: Nthreads = Ncpu * Ucpu * (1+ W/C);二.配置Thr原创 2017-04-23 22:29:05 · 339 阅读 · 0 评论