volatile:轻量级的synchronized,高并发下保证变量的可见性。
可见性:在一个线程的工作内存中修改了该变量的值,该变量的值能立即回显到主内存中,从而保证所有线程看到这个变量的值是一致的。
CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做
Atomic正是采用了CAS算法,所以可以在多线程环境下安全地操作对象
ThreadLocal 提供线程内的局部变量。每个线程都自己管理自己的局部变量,互不影响。