java多线程风险-线程安全性

版权声明:如果是原创,请联系作者进行转载 https://blog.csdn.net/u013159507/article/details/83278874

1. 什么是线程安全

当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么这个类就是线程安全的。

2. 线程安全方面的体现

1.原子性:提供互斥访问,同一时刻只能有一个线程对数据进行操作,(atomic,synchronized);

2.可见性:一个线程对主内存的修改可以及时地被其他线程看到,(synchronized,volatile);

3.有序性:一个线程观察其他线程中的指令执行顺序,由于指令重排序,该观察结果一般杂乱无序,(happens-before原则)

猜你喜欢

转载自blog.csdn.net/u013159507/article/details/83278874