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

为什么引入并发

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

并发的三大特性

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

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

相关推荐
古法安卓4 分钟前
Android-高版本 LMKD 源码解析:基于 PSI 的内存压力监控与查杀全流程
android·java·android studio
古法安卓8 分钟前
Android-PSI 详解:libpsi 源码解析——116 行代码架起 lmkd 与内核之间的桥
android·java·android studio
用户365330434709414 分钟前
深入理解 Java Unsafe:从底层魔法到被淘汰的命运
java
总有刁民想爱朕ha38 分钟前
Python PyQt5图片批量转MP4视频工具:本地离线免费无水印,完整代码
开发语言·python·qt
宸津-代码粉碎机1 小时前
FastUtil+AI多Agent实战:Java AI项目性能终极加速方案
java·服务器·开发语言·python·安全·php
choumou_M1 小时前
SpringBoot_5:商品秒杀场景的并发实践(初步)
java·spring boot·后端
Python私教1 小时前
Python 3.15 来了:free-threading 稳定 ABI 能给高并发服务带来什么
开发语言·python
suaizai_1 小时前
AI Agent如何懂你:四层能力拆解
java·前端·人工智能
javachen__2 小时前
Docker一键清理 + 全局限制,告别日志报满
java·docker·容器
早安试言2 小时前
maven安装
java·maven