说说线程安全问题,什么是线程安全,如何实现线程安全
线程安全 - 如果线程执行过程中不会产生共享资源的冲突,则线程安全。
线程不安全 - 如果有多个线程同时在操作主内存中的变量,则线程不安全
实现线程安全的三种方式
1)互斥同步
临界区:syncronized、ReentrantLock 信号量 semaphore 互斥量 mutex
2)非阻塞同步
CAS(Compare And Swap)
3)无同步方案
可重入代码 使用Threadlocal 类来包装共享变量,做到每个线程有自己的copy 线程本地存储