并发编程
concurrent包学习
封志强
代码是写给人看的,顺便给机器运行。
展开
-
AtomicInteger 源码学习
1.AtomicInteger 源码学习1.1.带着问题学习AtomicInteger 是怎么做到线程安全的AtomicInteger 是怎么实现自增的1.2.基本介绍AtomicInteger 扩展了 Number,适用于基于数字的处理,并提供了如原子递增等,适合一些计数场景。// Integer类型(原子性)public class AtomicInteger extends Number implements Serializable {.........}// 设置为使用原创 2020-06-18 11:03:39 · 163 阅读 · 0 评论 -
Atomic基本数据类型源码学习
1.Atomic数据类型源码学习1.1.基本介绍// Integer类型(原子性)public class AtomicInteger extends Number implements Serializable {.......}在并发编程中很容易出现并发安全的问题,有一个很简单的例子就是多线程更新变量i=1,比如多个线程执行i++操作,就有可能获取不到正确的值,而这个问题,最常用的方法是通过Synchronized进行控制来达到线程安全的目的(关于synchronized可以看这篇文章)。原创 2020-06-18 10:29:22 · 672 阅读 · 0 评论 -
JDK8的AQS源码学习
1.JDK8AQS源码分析学习1.1.带着问题学习1.AQS是什么鬼东西2.AQS是怎么实现的1.2.基本介绍在并发编程中,Doug Lea大师为我们提供了大量实用,高性能的工具类,Doug Lea,concurrent 包的作者,编程不识Doug Lea,写尽java也枉然。// 同步队列,是一个带头结点的双向链表,用于实现锁的语义public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchron.原创 2020-06-18 10:07:40 · 304 阅读 · 0 评论