如何保证线程安全?
1个回答
展开全部
1.
Confinement 限制数据共享。 将可变数据限制在单一线程内部,避免竞争。核心思想就是线程之间不共享可变数据类型。
2.
Immutable 将可变数据类型改为Immutable类型。 避免多线程间的race condition。
3.
Threadsafe data type 共享线程安全的可变数据。 如果必须要在多线程间使用mutable的数据类型,必须要使用线程安全的数据类型。在JDK的类文档中,记录着是否线程安全。如List,Set,Map等集合类,都是线程不安全的。
4.
Synchronization 通过锁的机制共享不安全的可变数据。
Confinement 限制数据共享。 将可变数据限制在单一线程内部,避免竞争。核心思想就是线程之间不共享可变数据类型。
2.
Immutable 将可变数据类型改为Immutable类型。 避免多线程间的race condition。
3.
Threadsafe data type 共享线程安全的可变数据。 如果必须要在多线程间使用mutable的数据类型,必须要使用线程安全的数据类型。在JDK的类文档中,记录着是否线程安全。如List,Set,Map等集合类,都是线程不安全的。
4.
Synchronization 通过锁的机制共享不安全的可变数据。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询