动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

Java线程并发库的介绍

07-23 16:49 190浏览
举报 T字号
  • 大字
  • 中字
  • 小字

对于java程序员来说,多线程在工作中的使用场景还是比较常见的,而仅仅掌握了java中的传统多线程机制,还是不够的。Java增加的并发库中提供了很多优秀的API,在实际开发中用的比较多。因此我们有必要对这部分知识做一个全面的了解,下面对java线程并发库的相关内容做介绍。

下面给大家介绍一下java的线程并发库,主要包括java.util.concurrent包 、java.util.concurrent.atomic包和java.util.concurrent.lock包。

1、java.util.concurrent包 (多线程并发库) java.util.concurrent包含许多线程安全、测试良好、高性能的并发构建块。创建java.util.concurrent的目的就是要实现Collection框架对数据结构所执行的并发操作。通过提供一组可靠的、高性能并发构建块,开发人员可以提高并发类的线程安全、可伸缩性、性能、可读性和可靠性 

2、java.util.concurrent.atomic包(多线程的原子性操作提供的工具类)查看atomic包文档页下面的介绍,它可以对多线程的基本数据、数组中的基本数据和对象中的基本数据进行多线程的操作(AtomicInteger、AtomicIntegerArray、AtomicIntegerFieldUpDater…)通过如下两个方法快速理解atomic 包的意义:AtomicInteger 类的boolean compareAndSet(expectedValue, updateValue); AtomicIntegerArray 类的 int addAndGet(int i, int delta)

3、java.util.concurrent.lock 包 (多线程的锁机制)为锁和等待条件提供一个框架的接口和类,它不同于内置同步和监视器。该框架允许更灵活地使用锁和条件。本包下有三大接口,下面简单介绍下:

1Lock 接口:支持那些语义不同(重入、公平等)的锁规则,可以在非阻塞式结构的上下文(包括 hand- over-hand 和锁重排算法)中使用这些规则。主要的实现是 ReentrantLock。

2ReadWriteLock 接口:以类似方式定义了一些读取者可以共享而写入者独占的锁。此包只提供了一个实现,即 ReentrantReadWriteLock,因为它适用于大部分的标准用法上下文。但程序员可以创建自己的、适用于非标准要求的实现。

3Condition 接口:描述了可能会与锁有关联的条件变量。这些变量在用法上与使用 Object.wait 访问的隐式监视器类似,但提供了更强大的功能。需要特别指出的是,单个Lock可能与多个Condition对象关联。为了避免兼容性问题,Condition方法的名称与对应的Object版本中的不同。

上面介绍了3个java线程并发库的相关知识,希望大家可以在项目中使用这些类的包。Java本质还是技术操作性的专业,所以java线程并发库在学习完理论的知识后,要在平时多多练习使用,这对java程序员在实际开发中的工作还是十分重要的。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵1052
程序员代码小兵1052

5篇文章贡献16789字

作者相关文章更多>

推荐相关文章更多>

Java数据结构

HelloWorld10-31 08:24

浅谈MySQL中SQL优化的常用方法

军哥08-12 23:29

五分钟读懂UML类图

江湖人称小李白12-10 10:41

MyBatis开发框架的四大核心

IT逐梦者08-17 21:43

一次搞定continue,break和return

HelloWorld11-06 11:19

发评论

举报

0/150

取消