Java并发:多线程和java.util.concurrent并发包总结
2016-04-17 22:13
288 查看
引言
前面已经针对Java多线程框架中具体的点介绍了很多了,现在是需要一个概括性总结的时候了,正好从网上找到一张描述java.util.concurrent包组成结构的类图,正好可以对java多线程中并发这块有一个概览性总结。
在转载别人的图之前先简要总结一下:
一、描述线程的类:Runable和Thread都属于java.lang包
二、内置锁synchronized属于jvm关键字,内置条件队列操作接口Object.wait()/notify()/notifyAll()属于java.lang包
二、提供内存可见性和防止指令重排的volatile属于jvm关键字
四、而java.util.concurrent包(J.U.C)中包含的是java并发编程中有用的一些工具类,包括几个部分:
1、locks部分:包含在java.util.concurrent.locks包中,提供显式锁(互斥锁和速写锁)相关功能;2、atomic部分:包含在java.util.concurrent.atomic包中,提供原子变量类相关的功能,是构建非阻塞算法的基础;3、executor部分:散落在java.util.concurrent包中,提供线程池相关的功能;4、collections部分:散落在java.util.concurrent包中,提供并发容器相关功能;5、tools部分:散落在java.util.concurrent包中,提供同步工具类,如信号量、闭锁、栅栏等功能;
以下图片转自:这里,文章标题是:深入浅出 Java Concurrency (1) : J.U.C的整体认识
![](https://img-blog.csdn.net/20160417221225306)
再次感谢画这张图的作者。
前面已经针对Java多线程框架中具体的点介绍了很多了,现在是需要一个概括性总结的时候了,正好从网上找到一张描述java.util.concurrent包组成结构的类图,正好可以对java多线程中并发这块有一个概览性总结。
在转载别人的图之前先简要总结一下:
一、描述线程的类:Runable和Thread都属于java.lang包
二、内置锁synchronized属于jvm关键字,内置条件队列操作接口Object.wait()/notify()/notifyAll()属于java.lang包
二、提供内存可见性和防止指令重排的volatile属于jvm关键字
四、而java.util.concurrent包(J.U.C)中包含的是java并发编程中有用的一些工具类,包括几个部分:
1、locks部分:包含在java.util.concurrent.locks包中,提供显式锁(互斥锁和速写锁)相关功能;2、atomic部分:包含在java.util.concurrent.atomic包中,提供原子变量类相关的功能,是构建非阻塞算法的基础;3、executor部分:散落在java.util.concurrent包中,提供线程池相关的功能;4、collections部分:散落在java.util.concurrent包中,提供并发容器相关功能;5、tools部分:散落在java.util.concurrent包中,提供同步工具类,如信号量、闭锁、栅栏等功能;
以下图片转自:这里,文章标题是:深入浅出 Java Concurrency (1) : J.U.C的整体认识
再次感谢画这张图的作者。
相关文章推荐
- Java垃圾收集的相关知识
- java数据库连接类,已经把数据库操作的方法都封装好了
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- Java中的properties文件的读取
- 20145325张梓靖 《Java程序设计》第7周学习总结
- Java RMI之HelloWorld篇
- 20145310《Java程序设计》第2次实验报告
- Java之类型的转换
- java.sql.Types,数据库字段类型,java数据类型的对应关系
- 常用排序算法的Java实现
- struts2 学习
- 20145321 《Java程序设计》第7周学习总结
- 20145225唐振远 实验二 "Java面向对象程序设计"
- java多线程的公平锁和非公平锁
- JAVA设计模式之------简单工厂模式
- 和Java集合谈谈(一)
- Java转json
- Java多线程(5) interrupt
- Java数组操作的方法
- 20145312 《Java程序设计》第七周学习总结