Void等多线程中的类和修饰符
Void 类是一个不可实例化的占位符类,它持有对表示 Java 关键字 void 的 Class 对象的引用。 因为构造方法为私有的,所以该类不可实例化。
public final class Void {
public static final Class Void TYPE = Class.getPrimitiveClass("void");
? ?private Void() {
? ?}
}
java.util.concurrent.Future 用于多线程计算
?
volatile变量
用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最新的值。volatile很容易被误用,用来进行原子性操作。
对于volatile修饰的变量,jvm虚拟机只是保证从主内存加载到线程工作内存的值是最新的
例如假如线程1,线程2 在进行read,load 操作中,发现主内存中count的值都是5,那么都会加载这个最新的值
在线程1堆count进行修改之后,会write到主内存中,主内存中的count变量就会变为6
线程2由于已经进行read,load操作,在进行运算之后,也会更新主内存count的变量值为6