Java并发编程学习笔记

Java并发编程学习笔记

这是我两年前(2012-05)的学习笔记。点击直接访问web版页面

-- 本文不会详细介绍java5以前的多线程开发的知识,而是重点介绍java5以来多线程开发的一些新变化。部分文字、代码都是摘抄、提炼过来的,大家有兴趣可查看(8.相关资料)中的提供的原材料。

本文的主要内容如下:

2.集合类。主要介绍多线程开发中如何使用集合(三种方法)。建议大家关注一下java.util. concurrent包中的相关类。

4.线程池。你需要明确的是: 任务只是一组逻辑工作单元,而线程则是任务异步执行的机制。任务与任务的执行是相分离的。

5.任务异步返回结果和取消关闭。以前的线程实现都是没有返回值的,但java5中,有返回值的线程是如何实现的呢?

6.显式锁。协调共享对象访问,在java5以前用synchronized实现,现在可以用Lock显式的lock()和unlock(),并且有定时锁,读写锁等,你用过吗?

7.栅栏CyclicBarrier、计数器CountDownLatch、信号量Semaphore。这几个类确实让人眼前一亮。你知道它们是做什么的吗?

看完本文,你可以放心的遵循《Effective Java中文版(第2版)》的并发实践了:

第68条:executor和task优先于线程 第69条:并发工具优先于wait和notify