多线程之:线程安全

线程安全是指:没有竞态条件,允许被多个线程同时执行,且执行结果幂等程序块。

java代码多线程环境下安全的资源:

1、基本数据类型的局部变量;

2、未被作为返回值、未被传递到其它线程访问的方法中的非基本数据类型的局部变量;

3、受线程控制且未产生逃逸的资源;

4、共享状态本身是同步的的资源。

线程控制逃逸指:资源的创建、使用、销毁都在同一个线程中,且永远不会脱离该线程的控制。

不安全的资源:

1、java类的对象成员变量;

2、不同步的共享状态;

3、产生线程控制逃逸的的资源;

4、对象的引用不是线程安全的,即使是一个不可变对象。

作者:jessezeng
出处:http://www.cnblogs.com/jessezeng/
原文地址:https://www.cnblogs.com/jessezeng/p/5003561.html