绝对的线程安全:一个内部有共享变量的对象构造后,就能在多线程环境下随意使用,且不发生错误,那么这个对象是线程安全的。
但现实中一般是相对安全的,即在对象构造后需要一些额外的操作来保证线程安全。
实现线程安全的方法:
1.互斥同步,在线程对共享资源操作之前,先加锁,操作完再解锁。
2.非阻塞同步,先对共享资源操作,如果发生冲突,再采取补救措施(如CAS补偿措施就是不断再测试,直到不冲突)。