java并发知识体系总览

2022/1/28 17:04:40

本文主要是介绍java并发知识体系总览,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

我们的学习过程是遵循总分总的结构,先看到整个的相关体系架构,完了再各个击破,最后在回看整个架构会有更深的理解。
首先从工具类看我们有以下3个大分类:


1实现了并发安全

并发安全其实就是为了保证数据的准确性做的一些工作,这里我们首先需要了解以下概念

互斥:多线程执行共享变量的这段代码可能会导致竞争状态,因此我们将此段代码称为临界区(criticalsection),它是执行共享资源的代码片段,一定不能给多线程同时执行。

所以我们希望这段代码是互斥(mutualexclusion)的,也就说执行临界区(criticalsection)代码段的只能有一个线程,其他线程阻塞等待,达到排队效果。

互斥并不只是针对多线程的竞争条件,同时还可用于多进程,避免共享资源混乱。

互斥解决的问题:互斥解决了「多进程/线程」对临界区使用的问题,但是它没有解决「多进程/线程」协同工作的问题

同步: 所谓同步,就是「多进程/线程间」在一些关键点上可能需要互相等待与互通消息,这种相互制约的等待与互通信息称为「进程/线程」同步。

JUC中使用互斥同步的锁有synchronized ReentrantLock ReadWriteLock ..等等

同步的工具类有Collections.synchronizedList() vector等



这篇关于java并发知识体系总览的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程