为什么要有volatile关键字
在嵌入式编程和多线程编程中,我们常会见到volatile关键字声明的变量。
下面说一下volatile关键字的作用:
1.保持变量内存可见
简而言之就是用volatile声明的变量会告诉编译器和处理器,这个变量需要每次使用时从内存里重新读取,不要使用缓存里或者寄存器里的值。
在多线程编程中常见单个变量被多个线程同时访问的问题,为确保读取的变量值是最新的,需要声明为volatile。
2、防止指令重拍
不同的编译器对系统的指令优化方式不同,大部分的编译器会做一些优化操作,以便让CPU按照它认为的最优方式和顺序去执行一些程序指令,这可能会影响到我们这条指令执行的顺序。
通常这种优化在单进程下没有影响。但在多线程的应用中可能会导致问题。
上一篇:Java关键字:volatile
下一篇:C语言关键字之volatile
相关文章
- Spring Boot中对接Twilio以实现发送验证码和验证短信码
- Spring Boot 3.5:这次更新让你连配置都不用写了,惊不惊喜?
- Spring Boot+Pinot实战:毫秒级实时竞价系统构建
- SpringBoot敏感配置项加密与解密实战
- SpringBoot 注解最全详解,建议收藏!
- Spring Boot 常用注解大全:从入门到进阶
- SpringBoot启动之谜:@SpringBootApplication如何让配置化繁为简
- Springboot集成Kafka原理_spring集成kafka的原理
- Spring Boot中@Data注解的深度解析与实战应用
- 大佬用1000字就把SpringBoot的配置文件讲的明明白白!
