先理解清楚线程安全和同步含义,再讨论这个充分必要条件。
线程安全的核心目标是,在多线程情况下,各线程同时操作共享数据,可以确保正确的执行结果。
线程安全有几个级别: 不可变,无条件的线程安全,有条件的线程安全,非线程安全(线程兼容),线程对立。
同步的目标是,在有条件的线程安全或非线程安全环境中,提供一种线程安全机制。
1. 同步是否一定要保证线程安全?
使用同步,目标就是一定要线程安全,但有时简单使用同步并不能保证线程安全。
2. 线程安全的是否一定需要同步?
不一定,即时在在有条件的线程安全或非线程安全环境中,也有有很多其他解决方式,如CAS,ThreadLocal等。
线程安全的核心目标是,在多线程情况下,各线程同时操作共享数据,可以确保正确的执行结果。
线程安全有几个级别: 不可变,无条件的线程安全,有条件的线程安全,非线程安全(线程兼容),线程对立。
同步的目标是,在有条件的线程安全或非线程安全环境中,提供一种线程安全机制。
1. 同步是否一定要保证线程安全?
使用同步,目标就是一定要线程安全,但有时简单使用同步并不能保证线程安全。
2. 线程安全的是否一定需要同步?
不一定,即时在在有条件的线程安全或非线程安全环境中,也有有很多其他解决方式,如CAS,ThreadLocal等。