Author : mercyblitz
Version: 0.1
Update : 2010-08-27 4:26PM
Email: mercyblitz@gmai.com
1. 基础
1.1 摩尔定律
1.2 多处理器时代
1.2.1 对称多处理( Symmetric Multi-Processor, a.k.a SMP)
1.2.2 非对称多处理( ASymmetric Multi-Processor, a.k.a ASMP)
1.2.3 非统一内存访问( a.k.a NUMA)
1.3 共享内存(Shared Memory)
1.4 CPU 缓存
1.4.1 缓存一致性(Cache coherence)
1.4.2 MESI协议(MESI protocol)
1.5 线程
1.5.1 起源(Source)
1.5.2 优势(Advantages)
1.5.3 类型(Types)
1.5.4 模型(Models)
1.5.5 实现(Implementations)
1.5.6 安全(Security)
1.6 内存模型 (Memory Model)
1.6.1 可见性(Visibility)
1.6.2 原子性(Atomicity)
1.6.3 顺序性(Order)
1.7 互斥( Mutual Exclusion)
1.7.1 阻塞同步( Blocking Synchronization)
1.7.1.1 临界区(Critical Section)
1.7.1.2 锁(Lock)
1.7.1.2.1 类型(Types)
1.7.1.2.1.1 自旋锁(Spinning Lock)
1.7.1.2.1.2 标签锁(Ticket Lock)
1.7.1.2.1.3 偏向锁(Biased Lock)*
1.7.1.2.2 数据库锁(Database Lock)*
1.7.1.2.2.1 消极锁
1.7.1.2.2.2 乐观锁
1.7.1.2.3 问题(Problems)
1.7.1.2.3.1 活锁(Live Lock)
1.7.1.2.3.2 死锁(Dead Lock)
1.7.1.2.3.3 优先级倒置(Priority Inversion)
1.7.1.2.3.4 其他(Others)
1.7.2 非阻塞同步(Non-Blocking Synchronization)
1.7.2.1 Wait-free算法
1.7.2.1.1 比较交换算法(Compare-And-Swap, a.k.a CAS)
1.7.2.1.2 连接加载/条件存储(Load-link/Store-conditional)
1.7.2.1.3 ABA问题
1.7.2.2 Lock-free
1.7.2.3 Obstruction-free
1.7.3 重进入(Reentrant)
1.7.4 监视器(Monitor)
1.7.4.1 等待和信号(Wait and Signal)
1.7.4.2 条件变量(Condition Variable)
1.7.5 信号灯(Semaphore)
1.7.6 双检查锁(Double-Checked Locking, a.k.a DCL)
1.8 内存栅栏(Memory Barrier/Fence)
1.9 一致性模型(Consistency Model)
1.9.1 原子一致性( Atomic consistency)
1.9.2 连续一致性(Sequential Consistency)
1.9.3 因果一致性(Causal Consistency)
1.9.4 释放一致性(Release Consistency)
1.9.5 最终一致性(Eventual Consistency)
1.9.6 Delta一致性(Delta Consistency)
1.9.7 弱一致性(Weak Consistency)
1.10 并发控制(Concurrency Control)
1.10.1 软件事务存储(Software Transactional Memory,a.k.a STM)
2. Java 基础
2.1 Java同步原语
2.1.1 synchronized关键字
2.1.2 volatile 关键字
2.1.3 CAS操作-AtomicX
2.2 Java内存模型
2.2.1 可见性(Visibility)
2.2.2 原子性(Atomicity)
2.2.3 顺序性(Order)
2.2.4 Happens-Before
2.3 java.lang.Thread
2.3.1 状态(State)
2.3.2 启动-Thread.start方法
2.3.3 弃用Thread.stop, Thread.suspend 和 Thread.resume方法
2.3.4 终止Thread.interrupt和Thread.interrupted方法
2.3.5 Thread.join方法
2.3.6 Object.wait/notify方法
2.3.7 Thread.wait方法
3. Java并发框架
3.1J.U.C框架
3.1.1 同步
3.1.1.1 核心-AbstractQueuedSynchronizer
3.1.1.2 重进入锁-ReentrantLock
3.1.1.3 重进入读写锁-ReentrantReadWriteLock
3.1.1.4 条件变量-Condition
3.1.1.5 新通知/信号机制-LockSupport
3.1.2 限制
3.1.2.1 CountDownLatch
3.1.2.2 CyclicBarrier
3.1.2.3 信号灯(Semaphore)
3.1.3 原子操作
3.1.3.1 Atomic*类
3.1.3.2 操作实现-sun.misc.Unsafe
3.1.4 线程安全集合
3.1.4.1 CopyOnWriteArrayList和CopyOnWriteArraySet
3.1.4.2 ConcurrentSkipListMap和ConcurrentSkipListSet
3.1.4.3 ConcurrentHashMap
3.1.4.4 ArrayBlockingQueue
3.1.4.5 LinkedBlockingQueue和ArrayBlockingDueue
3.1.4.5 PriorityBlockingQueue
3.1.5 线程池
3.1.5.1 Executor
3.1.5.2 ThreadPoolExecutor
3.1.5.3 Callable和Future
3.1.5.4 ScheduledExecutorService
3.1.5.5 Executors
4. JVM并发实现 **
4.1 线程(Thread)实现
4.2 监视器(Monitor)实现
4.3 可见性实现
4.4 原子性实现
4.5 顺序性实现
4.6 其他
说明:
1. 在标题后面带有符号“*”,代表这个内容可能有点于偏离主题。带有“**”的内容,可能比较难以理解。
2. 由于知识体系比较繁杂,组织起来比较宽难,因此目录结构很有可能不断地更新。该文章的Update部分或者标题也会同步更新。
3.一旦章节的内容完结,目录会即时更新链接,请大家留意。
4.作者能力和学识有限,如果读者还有更加感兴趣的议题,或者任何错误、意见和建议,不妨直接留言或者发邮件来讨论。如果能够合著的话,那是更加完美了。
5.文章转载前,请联系文章的作者。
谢谢
,EOF!
分享到:
相关推荐
Java并发--任务执行.pdf
Java 多线程与并发(3_26)-Java 并发 - Java中所有的锁
Java 多线程与并发(1_26)-Java 并发 - 理论基础
Java 多线程与并发(2_26)Java 并发 - 线程基础
62-Java并发编程实战62-Java并发编程实战62-Java并发编程实战62-Java并发编程实战62-Java并发编程实战62-Java并发编程实战62-Java并发编程实战62-Java并发编程实战62-Java并发编程实战62-Java并发编程实战62-Java...
JAVA并发-自问自答学ThreadLocal
自从java创建以来就已经支持并发的理念,如线程和锁。这篇指南主要是为帮助java多线程开发人员理解并发的核心概念以及如何应用这些理念。本文的主题是关于具有java语言风格的Thread、synchronized、volatile,以及...
Java并发编程实践-电子书-01章.pdf Java并发编程实践-电子书-02章.pdf Java并发编程实践-电子书-03章.pdf Java并发编程实践-电子书-04章.pdf Java并发编程实践-电子书-05章.pdf Java并发编程实践-电子书-06章.pdf ...
Java并发编程---synchronized关键
Java 多线程与并发-Java并发知识体系详解
这就是最正宗的《Java 并发编程实战》带目录 用福昕阅读器打开查看特别的清晰
Java并发编程---Thread类!!
B站楠哥JUC Java并发编程
Java并发编程ppt.rar 0.3MB 9Java技术体系.avi 12.0MB 8Java的发展历史续.avi 3.3MB 7Java的发展历史.avi 42.0MB 20Java虚拟机-高性能Java虚拟机.avi 3.8MB 19Java虚拟机-MicrosoftJVM.avi 4.9MB 18Java虚拟机...
JAVA并发编程实践-中文-高清-带书签-完整版(Doug+Lea)JAVA并发编程实践-中文-高清-带书签-完整版(Doug+Lea)
java并发编程pdf文档第二部分:Java并发编程实战.pdf、Java多线程编程核心技术.pdf、实战Java高并发程序设计.pdf
java并发编程实战源码 附有本书所有源码,maven 导入 eclipse或idea
Java并发编程-设计原则与模式 pdf格式
阿里专家级并发编程架构师级课程,完成课程的学习可以帮助同学们解决非常多的JAVA并发编程疑难杂症,极大的提高JAVA并发编程的效率。课程内容包括了JAVA手写线程池,UC线程池API详解,线程安全根因详解,锁与原子类...
JAVA并发编程实践中文版 英文版 原书源码 带书签 java_concurrency_in_practice.pdf 英文版还是不错的,但是中文版的译者典型的没有技术功底,介绍上说什么专家, 翻译的非常差劲,有些句子都不通顺,都不知道自己去...