Java中volatile
时间: 2024-05-12 17:16:23 浏览: 102
Java中volatile关键字的总结.docx
在Java中,`volatile`关键字用于声明一个变量,表示它的值可能被多个线程同时访问。
当一个变量被声明为`volatile`时,Java虚拟机会禁止进行某些优化,以确保读取该变量的值时是从内存中获取的最新值。这意味着,当一个线程修改了一个`volatile`变量的值,其他线程能够立即看到这个修改。
使用`volatile`关键字时,必须注意它不能用来保证复合操作的原子性,也不能用来保证锁的语义。因此,在使用`volatile`时,应该尽可能地减少对其的读写操作。
举个例子,下面的代码使用了`volatile`变量来实现一个简单的计数器:
```java
public class Counter {
private volatile int count = 0;
public void increment() {
count++;
}
public int getCount() {
return count;
}
}
```
在这段代码中,`count`被声明为`volatile`,因此每次对其进行写操作时,都会立即同步到主内存,而每次对其进行读操作时,都会从主内存中获取最新值。
阅读全文