什么是线程安全? 线程安全是指保证多线程环境下共享的、可修改的状态的正确性。 线程安全需要保证几个基本特性 原子性:相关操作不会中途被其他线程干扰,一般通过同步机制实现。 可见性:一个线程修改了某个共享变量,其状态能够立即被其他线程知晓,通常被解释为将线程本地状态反映到主内存上,volatile就是负责保证可见性的。 […]
什么是线程安全? 线程安全是指保证多线程环境下共享的、可修改的状态的正确性。 线程安全需要保证几个基本特性 原子性:相关操作不会中途被其他线程干扰,一般通过同步机制实现。 可见性:一个线程修改了某个共享变量,其状态能够立即被其他线程知晓,通常被解释为将线程本地状态反映到主内存上,volatile就是负责保证可见性的。 […]
volatile作用 volatile主要是为了解决多线程内存不可见问题。 对于一写多读,是可以解决变量同步问题,但是如果多写,同样无法解决线程安全问题。 其次是为了保证代码的有序性。 虚拟机在编译的时候,是有可能把代码的顺序进行重排序的,不一定会按照我们写的代码的顺序来执行,对于有些代码进行重排序之后,虽然对变量的值 […]
王师北定中原日,家祭无忘告乃翁。