本帖最后由 py强子 于 2013-8-6 01:45 编辑
线程安全:如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的
反之就是线程不安全;
线程安全和同步关系:
线程安不安全,取决于线程间操作的对象是否有共同变量,如果每个线程对应一个对象,那么线程各自操作的对象是独立的,相互不影响,根本不用考虑去同步。这也是解决多线程同步的一种策略,而不是采用同步关键字去用一个对象。
线程不安全例子:
如
List<String> list= Collections.synchronizedList(new ArrayList<String>());
if(list.size()<10){
lsit.add("obj");
}
不能保证lsit.size()之后,list.add("obj")之前,另外一个线程不add别的数据。
|