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

为什么引入并发

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

并发的三大特性

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

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

相关推荐
吠品3 分钟前
Nginx负载均衡配置与线上故障排查的一些经验
java·开发语言·数据库
边境悍匪8 分钟前
蜗牛学苑 Java 智能体学习 Day44|Vue 前端项目搭建 思维导图复盘
java·开发语言·spring boot·学习·阿里云
万年咸鱼13 分钟前
public class 和 class 的区别详解
java
焦虑的说说13 分钟前
redis知识汇总
java·redis
wuyk55517 分钟前
Python实战项目01:简易记事本系统
开发语言·python
Wang's Blog19 分钟前
Java 接入Redis: 密码认证与远程连接配置
java·服务器·redis
SunnyDays101133 分钟前
Java 拆分 Word 文档教程:按页、分页符和分节符拆分
java·word·分页·拆分
彧azz35 分钟前
Java学习记录:判断语句
java·笔记·学习·算法
企业数字化笔记39 分钟前
一批相同的电脑怎么建账?数量管理、单件编码和拆分规则
java·后端·电脑