1.线程安全:
如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。
如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期是一样的
,这就是线程安全。
2.线程不安全:
就是不提供数据访问保护,有可能出现多个线程先后更爱数据造成所得到的数据是脏数据。
在多个线程同时访问同一个对像时会发生数据错误,不完整等情况,那就是线程不安全,不会发生以上错误时是线程安全的。
一个线程访问资源的时候为其加锁,别的线程只有等到该线程释放资源后才能使用,这样做为了防止数据的非正常改变和使用。
####################################################################################
举个例子:
有一篮苹果,有大有小,如果有一群人要来拿苹果,
在线程不安全的情况下:
所有人都想要大的。大家一哄而上,变成了抢苹果。发生了冲突。
在线程安全的情况下:
把这一篮苹果放到一个小屋中,每次只允许一个人进来拿苹果,然后锁住小屋,
等这个人拿完苹果才打开锁允许下个人过来拿苹果。