指令重排序所带来的问题及使用volatile关键字解决问题

首先看下如下代码: 指令重排序和优化后代码如下: if(!stop) while(true){} volatile最适合使用的是一个线程写、其他线程读的场合,如果有多个线程并发写操作,仍然需要使用锁或者线程安全的容器或者原子变量来代替。 当一个变量被volatile修饰后,它将具备以下两种特性。· 线程可见性:当一个线程修改了被volatile修饰的变量后,无论是否加锁,其他线程都可以立即看到最新
相关文章
相关标签/搜索