【Java并发编程一】并发与并行

为什么引入并发

 摩尔定理逐渐失效,单核性能很难提升,通过组合多核性能来进一步满足实际需要,从而引入并发编程。在大部分场景下,并行是由于串行的,并行可以优化非关键节点的时间消耗。

并发的三大特性

  1. 原子性
     某个操作不可被中断,不可被分割。
  2. 可见性
     对于一些变量的修改,需要告知其他线程。
  3. 有序性
     由于编译器的设计者为了提高程序的效率,由此引入了指令重排。对于值的读取与修改需要多个步骤,对指令进行重排可以提高效率。这对串行没有影响,但会让并行程序出错。解决措施之一是引入volatile关键字:
java 复制代码
volatile int num;

这样程序就不会对含有volatile关键字的指令进行重排。

相关推荐
geovindu4 分钟前
java: Memento Pattern
java·开发语言·后端·备忘录模式·行为模式
xcLeigh9 分钟前
Unity基础:Start与Update方法——Unity脚本生命周期初探
java·unity·游戏引擎·教程
zephyr0512 分钟前
链表实现O(n log n)时间复杂度的排序——归并排序详解
java·数据结构·算法
曾阿伦12 分钟前
Trae CN Python环境调试debug指南
开发语言·python
Zane199412 分钟前
JRE 去哪了?一次讲清楚 JDK、JRE、JVM 到底是什么关系?
java·后端
PPPPickup17 分钟前
基础知识差缺补漏-面试版持续更新
java·开发语言
深入云栈24 分钟前
Nacos 2.x 源码深度解析 (二):通信协议迭代 —— HTTP长轮询到gRPC演进
java
兔兔兔兔141 分钟前
记录C++ 3
开发语言·c++
andongni20342 分钟前
SpringBoot 入门实验报告
java·spring boot·后端
黄鸭部落格ShiYuYuanFang43 分钟前
【分享】软考每日一练与解析-计组 8/12
java·开发语言