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. epoll 实际使用

    void DataHandle::recv() {     sleep(2);     _data_router -> readInfoHw(&mInfo);     ALOGD(SYS ...

  2. 蓝牙--主机接口控制器(HCI)

    I提供对基带控制器和链路管理器的命令以及访问蓝牙硬件的统一接口,它是我们实现自己的蓝牙设备索要接触的第一个蓝牙协议,起着承上启下的作用. 1.概述 如下图所示,HCI通过对链路管理器.硬件状态注册器. ...

  3. yum change source repo centos共存安装sun jdk6和jdk7

    之前一直使用的是163的源,今天从微博看到阿里云推出了自己的源.因为我的主机是阿里云,所以可以走内网,速度提升更快.过程如下:cd /etc/yum.repos.d/mv mv CentOS-Base ...

  4. HBase的完全分布式的搭建与部署,以及多master

    一:前提准备 1.设置时间同步 2.清空logs,datas 3.格式化集群 bin/hdfs namenode -format 4.重启集群 sbin/start-dfs.sh sbin/start ...

  5. C++ 安全字符串拼接

    #include <stdio.h> #include <stdint.h> #include <stdarg.h> #if defined(__GNUC__) # ...

  6. C语言解析json类型数据

    转自:http://buluzhai.iteye.com/blog/845404   首先感谢作者!! 我使用的是cJSON:http://sourceforge.net/projects/cjson ...

  7. 在Asp.net MVC中访问静态页面

    有时候由于一些特殊的需要,我们需要在MVC中访问HTML页面,假如您将这个页面放在Views中的话,去访问将会收到一个404,但是放在Views外面的目录则不受此限制. 那么我们就来解决View里面的 ...

  8. Payoneer欧洲收款账户开通激活及使用-用于接收欧洲公司资金和欧元收款

    在亚马逊国际平台的卖家往往会被问道需要美国(或者欧洲或者日本等)银行账户才能收款,这个政策个人认为是亚马逊对当地卖家的保护政策(大量的中国低价物美的卖家涌入会导致当地的卖家没有优势),二是当地税收政策 ...

  9. Caused by: java.lang.OutOfMemoryError: PermGen space.

    现在eclipse需要加载4个项目同时运行了,所以当服务启动的时候,出现Caused by: java.lang.OutOfMemoryError: PermGen space.空间不足错误,我说一下 ...

  10. iOS获取设备型号、设备类型等信息

    摘自 :http://www.mamicode.com/info-detail-1165460.html 设备标识 关于设备标识,历史上盛行过很多英雄,比如UDID.Mac地址.OpenUDID等,然 ...