java并发编程的基础

发布时间:2021-08-25 18:37:02 作者:chen
来源:亿速云 阅读:107

这篇文章主要介绍“java并发编程的基础”,在日常操作中,相信很多人在java并发编程的基础问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java并发编程的基础”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

CPU多级缓存

为什么需要CPU缓存?

原因是,CPU的频率太快了,快到主存跟不上,这样在处理器时钟周期内,CPU常常需要等待主存,浪费资源。所以cache的出现,是为了缓解CPU和内存之间速度的不匹配问题。

CPU缓存有什么意义?

CPU多级缓存-缓存一致性(MESI)

用于保证多个CPU cache之间缓存共享数据的一致

CPU多级缓存-乱序执行优化

处理器为了提高执行速度而做出的违背代码原有顺序的优化。在单核情况下没有问题,但是在多核环境下会出现问题。

JAVA内存模型(Java Memory Model,JMM)

这是一种规范,规范了Java虚拟机与计算机内存是如何协同工作的,规定了一个线程如何以及何时可以看到其他线程修改共享变量的值并且如何同步访问共享变量。

java并发编程的基础

如上图所示,java内存模型要求,调用栈和本地变量存放在线程栈上,如图中Thread Stack,对象存放在堆中(Heap)。本地变量Local variable2是一个指向对象的引用,Local variable存放在线程栈上,但对象存放在堆上。存放在堆上的对象可以被所持有对这个对象引用的线程访问,并且可以访问这个对象的成员变量,而当两个线程同时访问object3上的同一个方法时,都会访问方法中的成员变量,那么每一个线程会拥有这个对象成员变量的私有拷贝。

java并发编程的基础

线程之间的通信必须经过主内存,例如线程A想要与线程B进行通信,线程A需要将共享变量的副本刷新到主内存中,然后线程B读取主内存的线程A更新过的共享变量。因此会出现同步问题。

同步往往有8种操作:

同步规则:

java并发编程的基础 

并发的优势与风险

优势:

风险:

到此,关于“java并发编程的基础”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. Java并发编程——ThreadLocal
  2. Java并发编程基本知识

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:HTML5实现一个能够移动的小坦克代码分享

下一篇:java环境变量的设置方式

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》