多线程与高并发
爱敲代码的程序媛
爱敲代码的程序媛
展开
-
volatile关键字解析
内存模型的概念计算机执行程序时,每条指令都是在cpu中执行的,执行指令过程中,涉及到的数据的读写操作,程序运行过程中临时数据都保存在主存(物理内存)中,由于cpu的执行速度很快,所以数据的读取和向内存中的的写入相比较cpu的执行速度要慢很多,因此任何时候对数据的操作通过内存交互都会降低指令的执行速度,所以cpu里面产生了高速缓存。对于多线程,在多核中,每条线程都运行于不同的cpu中,所以每个线...原创 2020-02-23 17:41:09 · 170 阅读 · 1 评论 -
volatile能保证有序性吗?
volatile关键字能禁止指令重排,所以一定程度上保证了有序性;volatile关键字禁止指令重排的两层意思:(1)当程序执行volatile关键字进行读操作或写操作时,volatile关键字前面所有程序操作已经全部完成且结果对后面的所有操作均显示,volatile关键字后面的操作已经还没有进行。(2)进行指令优化时,不能将volatile关键字后面的语句放在volatile关键字前面执行...原创 2020-02-23 10:00:13 · 1167 阅读 · 2 评论