![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java并发编程实践
ahao99
这个作者很懒,什么都没留下…
展开
-
2.1. 什么是线程安全?
准确定义线程安全是件棘手的事情。学术性的定义过于复杂,而本文只想给出一些实践方面的指导。Google给出的答案是: . . . can be called from multiple program threads without unwanted interactions between the threads.(当多个线程访问时没有不恰当的交互) . . .may be called ...2011-10-06 10:19:52 · 84 阅读 · 0 评论 -
2.2 线程中的原子性
如果我们给一个无状态的类添加一个状态,会发生什么情况?让我们加上一个计数器看看: [code="java"]@NotThreadSafe public class UnsafeCountingFactorizer implements Servlet { private long count = 0; public long getCount() { return co...2011-10-06 20:33:01 · 83 阅读 · 0 评论 -
2.3 锁
当我们需要给类增加单个状态变量时,可以使用线程安全对象来保证线程安全。但是当变量超过一个时,可能会出问题。 下面这个例子说明了当我们需要在servlet中使用缓存提高性能时可能导致的问题。我们使用lastNumber和lastFactors两个AtomicReference对象来保证线程安全。 [code="java"] @NotThreadSafe public class Unsafe...2012-02-19 17:50:38 · 95 阅读 · 0 评论