在多线程环境下,当多个线程操作共享变量时,为了保证数据的准确性,而使用一些措施来保证数据的准确性。
主要是解决三个问题:原子性,可见性,有序性。
线程同步方法- synchronized
- volatile
- Lock
- ThreadLocal
- 阻塞队列
- 原子类
Java是多线程涉及到多个线程操作共享资源的情况时,处理不好就可能产生线程安全问题。当多个线程共享资源时就会涉及到线程通信问题,线程通信主要的方式时共享内存。
共享内存要关注的三个点:可见性和有序性和原子性。Java内存模型解决了可见性和有序性的问题,锁解决了原子性问题。
Java内存模型解决了可见性和有序性的问题,而锁结局了原子性的问题。



