线程的声明周期和安全问题
线程包括五种状态:新建,就绪,运行,阻塞,死亡五种状态。
线程安全的解决思路
1. 使用无状态的class去工作,这样不同线程反问同一代码块就不会出现问题
2. 使用threadLocal来为每个线程设置自己的变量,这样线程之间就没有共享变量
3. 为同步代码块加锁,使得只能有唯一线程能够访问同一个代码块
出现线程安全主要的原因有以下几点:
1. 多个线程有共享的资源,不能保证资源状态的一致性
2. 多线程共享资源的操作有多个语句
线程的声明周期和安全问题
线程包括五种状态:新建,就绪,运行,阻塞,死亡五种状态。
1. 使用无状态的class去工作,这样不同线程反问同一代码块就不会出现问题
2. 使用threadLocal来为每个线程设置自己的变量,这样线程之间就没有共享变量
3. 为同步代码块加锁,使得只能有唯一线程能够访问同一个代码块
出现线程安全主要的原因有以下几点:
1. 多个线程有共享的资源,不能保证资源状态的一致性
2. 多线程共享资源的操作有多个语句