http://ifeve.com/java-concurrency-thread-directory/

synchronized使用的内置锁和ReentrantLock这种显式锁在java6以后性能没多大差异,在更新的版本中内置锁只会比显式锁性能更好。

这两种锁都是独占锁,java5以前内置锁性能低的原因是它没做任何优化,直接使用系统的互斥体来获取锁。

显式锁除了CAS的时候利用的是本地代码以外,其它的部分都是Java代码实现的,在后续版本的Java中,显式锁不太可能会比内置锁好,只会更差。使用显式锁的唯一理由是要利用它更多的功能

J.U.C 整体认识

原子操作 part 1 从AtomicInteger开始

原子操作 part 2 数组、引用的原子操作

原子操作 part 3 指令重排序与happens-before法则

原子操作 part 4 CAS操作

锁机制 part 1 Lock与ReentrantLock

锁机制 part 2 AQS

锁机制 part 3 加锁的原理 (Lock.lock)

锁机制 part 4 锁释放与条件变量 (Lock.unlock And Condition)

锁机制 part 5 闭锁 (CountDownLatch)

锁机制 part 6 CyclicBarrier

锁机制 part 7 信号量 (Semaphore)

锁机制 part 8 读写锁 (ReentrantReadWriteLock) (1)

锁机制 part 9 读写锁 (ReentrantReadWriteLock) (2)

锁机制 part 10 锁的一些其它问题

并发容器 part 1 ConcurrentMap (1)

并发容器 part 2 ConcurrentMap (2)

并发容器 part 3 ConcurrentMap (3)

并发容器 part 4 并发队列与Queue简介

并发容器 part 5 ConcurrentLinkedQueue

并发容器 part 6 可阻塞的BlockingQueue (1)

并发容器 part 7 可阻塞的BlockingQueue (2)

并发容器 part 8 可阻塞的BlockingQueue (3)

并发容器 part 9 双向队列集合 Deque

并发容器 part 10 双向并发阻塞队列 BlockingDeque

并发容器 part 11 Exchanger

并发容器 part 12 线程安全的List/Set CopyOnWriteArrayList/CopyOnWriteArraySet

线程池 part 1 简介

线程池 part 2 Executor 以及Executors

线程池 part 3 Executor 生命周期

线程池 part 4 线程池任务拒绝策略

线程池 part 5 周期性任务调度

线程池 part 6 线程池的实现及原理 (1)

线程池 part 7 线程池的实现及原理 (2)

线程池 part 8 线程池的实现及原理 (3)

线程池 part 9 并发操作异常体系

并发总结 part 1 死锁与活跃度

并发总结 part 2 常见的并发场景

并发总结 part 3 常见的并发陷阱

并发总结 part 4  性能与伸缩性

捕获Java线程池执行任务抛出的异常

[转] 多线程 《深入浅出 Java Concurrency》目录的更多相关文章

  1. 深入浅出 Java Concurrency - 目录 [转]

    这是一份完整的Java 并发整理笔记,记录了我最近几年学习Java并发的一些心得和体会. J.U.C 整体认识 原子操作 part 1 从AtomicInteger开始 原子操作 part 2 数组. ...

  2. 《深入浅出 Java Concurrency》——原子操作

    part1 从AtomicInteger開始 从相对简单的Atomic入手(java.util.concurrent是基于Queue的并发包.而Queue.非常多情况下使用到了Atomic操作.因此首 ...

  3. 深入浅出 Java Concurrency (28): 线程池 part 1 简介[转]

    从这一节开始正式进入线程池的部分.其实整个体系已经拖了很长的时间,因此后面的章节会加快速度,甚至只是一个半成品或者简单化,以后有时间的慢慢补充.完善. 其实线程池是并发包里面很重要的一部分,在实际情况 ...

  4. 深入浅出 Java Concurrency (4): 原子操作 part 3 指令重排序与happens-before法则

    转: http://www.blogjava.net/xylz/archive/2010/07/03/325168.html 在这个小结里面重点讨论原子操作的原理和设计思想. 由于在下一个章节中会谈到 ...

  5. 深入浅出 Java Concurrency (15): 锁机制 part 10 锁的一些其它问题

      主要谈谈锁的性能以及其它一些理论知识,内容主要的出处是<Java Concurrency in Practice>,结合自己的理解和实际应用对锁机制进行一个小小的总结. 首先需要强调的 ...

  6. 深入浅出 Java Concurrency (35): 线程池 part 8 线程池的实现及原理 (3)[转]

    线程池任务执行结果 这一节来探讨下线程池中任务执行的结果以及如何阻塞线程.取消任务等等. 1 package info.imxylz.study.concurrency.future;2 3 publ ...

  7. 深入浅出 Java Concurrency (34): 线程池 part 7 线程池的实现及原理 (2)[转]

    线程池任务执行流程 我们从一个API开始接触Executor是如何处理任务队列的. java.util.concurrent.Executor.execute(Runnable) Executes t ...

  8. 深入浅出 Java Concurrency (33): 线程池 part 6 线程池的实现及原理 (1)[转]

    线程池数据结构与线程构造方法 由于已经看到了ThreadPoolExecutor的源码,因此很容易就看到了ThreadPoolExecutor线程池的数据结构.图1描述了这种数据结构. 图1 Thre ...

  9. 深入浅出 Java Concurrency (15): 锁机制 part 10 锁的一些其它问题[转]

    主要谈谈锁的性能以及其它一些理论知识,内容主要的出处是<Java Concurrency in Practice>,结合自己的理解和实际应用对锁机制进行一个小小的总结. 首先需要强调的一点 ...

  10. 深入浅出 Java Concurrency (4): 原子操作 part 3 指令重排序与happens-before法则[转]

    在这个小结里面重点讨论原子操作的原理和设计思想. 由于在下一个章节中会谈到锁机制,因此此小节中会适当引入锁的概念. 在Java Concurrency in Practice中是这样定义线程安全的: ...

随机推荐

  1. Delphi的哈希表(一)

    哈希表是通过哈希值来访问的,通过一定的内存浪费获取检索速度,在检索项时是不需要逐一检索.在编程中有一定的好处. unit Unit1; interface uses Windows, Messages ...

  2. http://d3js.org/

    http://d3js.org/ http://www.ourd3js.com/wordpress/?p=51 http://www.ourd3js.com/wordpress/?p=104file: ...

  3. 图算法(一)——基本图算法(BFS,DFS及其应用)(2)

    2)DFS 深度优先搜索总是对最近发现的节点v的出发边进行搜索,直到该节点的所有出发边都被发现 一旦节点v的所有出发边都被发现,搜索回溯到v的前驱结点进行 实现细节:时间戳 每一个结点有一个发现时间和 ...

  4. JavaScript判断文件的大小

    function getFileSize(obj) {//obj 需要传入的参数为Input的对象   var objValue = obj.value; if (objValue == " ...

  5. Solr搜索基础

    本例我们使用类库和代码均来自: http://www.cnblogs.com/TerryLiang/archive/2011/04/17/2018962.html 使用C#来模拟搜索.索引建立.删除. ...

  6. dedecms程序给栏目增加缩略图的方法

    用织梦程序做网站,有时候因为功能需求,我们要为网站的栏目页添加缩略图功能,而dedecms又没自带这个功能,那么就需要我们来修改程序了. 这里有一个栏目添加缩略图的方法,供大家参考. 涉及到文件如下( ...

  7. PresentViewController切换界面(一些系统自带的页面切换动画)

    视图切换,没有NavigationController的情况下,一般会使用presentViewController来切换视图并携带切换时的动画, 其中切换方法如下: – presentViewCon ...

  8. linux spi 设备节点 读写

    本文记录spi设备节点的操作方法. SPI总线设备文件名通常为/dev/spidevN.P(N=0.1.2--,P=0.1.2--), 其中N表示第几路SPI总线,而P表示在该路SPI总线中使用哪个C ...

  9. Python-S13-day2-之购物车

    Python-S13-day2 需求: 1.写一个购物小程序,用户开始先输入自己的工资,然后可以不断的买东西并加入购物车,如果钱不够了提示余额不足,用户中途可以选择查看自己购物车里面的商品,以及余额, ...

  10. C语言语句分类:大致可分为六大类

    #include <stdio.h> void main() { int sign, i, n; float sum; printf("please input an integ ...