如何保证线程安全?

如何保证线程安全?


接着前几篇博客的线程知识,我们这次来了解一点线程安全知识,了解的不多,希望对大家有用。

直接原因:

  • 多个线程同时操作
  • 非原子操作存在CAS


多线程出现问题的原因:

  • 共享了内容
  • 且内容可变

解决多线程问题的核心就是解决这两点。


解决方法:

  • 删除共享内容
  • 让共享内容不可变
  • 每次使用新的对象
  • 同时只有一个线程处理


总结:

1、无状态的对象都是线程安全的

2、不可变对象一定是线程安全的

3、没有竞态(多实例)的一定是线程安全的

4、加锁的可以是线程安全的


感谢您的阅读!

猜你喜欢

转载自blog.csdn.net/hongwei15732623364/article/details/60869745