其实线程安全(线程同步)与并发量的高低几乎是没有关系的。即时只有两个并发修改共享变量,如果出现的非预期的结果,那么就不能算是并发安全的。
问题在于:
首先是什么情况下会出现并发安全问题
1、多个线程
2、存在共享数据
3、存在读写操作(修改:添加删除都可以认为是修改)
单线程之所以是线程安全的是因为不存在对某种资源(比如某个共享变量)的竞争。
所以,多线程安全问题就落在了如何保证存在竞争资源的安全问题,所谓的安全问题就是说在不确定次数操作后的结果是否符合编写程序的预期结果。
如果符合,则可以说是线程安全。
问题在于:
首先是什么情况下会出现并发安全问题
1、多个线程
2、存在共享数据
3、存在读写操作(修改:添加删除都可以认为是修改)
单线程之所以是线程安全的是因为不存在对某种资源(比如某个共享变量)的竞争。
所以,多线程安全问题就落在了如何保证存在竞争资源的安全问题,所谓的安全问题就是说在不确定次数操作后的结果是否符合编写程序的预期结果。
如果符合,则可以说是线程安全。