编程语言
首页 > 编程语言> > 【Java多线程】JUC之Java并发包Concurrent发展简述(各版本JDK中的并发技术)

【Java多线程】JUC之Java并发包Concurrent发展简述(各版本JDK中的并发技术)

作者:互联网

本章先对Java个版本中的主要并发技术进行简述。

一.JDK1.4及之前

在JDK1.4及之前的版本,主要提供的并发技术有:

  1. synchronized关键字
  2. volatile关键字
  3. 不变模式

1.volatile关键字

被volatile修饰的变量能保证器顺序性和可见性

volatile相比于synchronized/Lock是非常轻量级,但是使用场景是有限制的:

实现原理

内存屏障有两个作用:

2.synchronized关键字

synchronized用于修饰普通方法、修饰静态方法、修饰代码块

实现原理: 使用对象的监视器(Monitor,也有叫管程的)进行控制

使用哪个对象的监视器:


3.不变模式

所谓不变模式,就是指:在并发编程中,为确保数据的一致性和正确性,使用一种不可改变的对象。依靠其不可变的性质,来确保在没有同步的情况下依旧保持一致性和正确性。

Java中不变模式相关技术有:

这里只讲发展历程, 更多内容,可以在我相关的文章中了解学习

二.JDK55

众所周知,JDK5是Java发展的一个重要版本,提供了很多技术,如泛型 Generic、枚举类型 Enumeration、可变参数varargs、注解 Annotations等等

java.util.concurrent(并发包)提供了一些列较为给力的并发技术,主要有:

这里只讲发展历程, 关于原子(Atomic)类型、显式锁(Lock)接口、并发集合、Callable和Future接口、执行器(Executor接口)的更多内容,可以在我相关的文章中了解学习

三.JDK7

JDK1.7版本中,主要提供的并发编程技术有:

这里只讲发展历程, 关于分支合并(Fork/Join)框架)的更多内容,可以在我相关的文章中了解学习

四.JDK8

JDK.1.8版本中,主要提供的并发编程技术有:

标签:执行,volatile,Java,接口,并发,发包,内存,线程,多线程
来源: https://blog.csdn.net/qq877728715/article/details/120684309