1.概念
如果代码所在的进程有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次的运行结果和单线程运行的结果一样的,而且其他的变量值和预期是一样的,那么此时就是线程安全的。
线程安全问题都是由全局变量以及静态变量引起的;若每个线程同时对全局变量和静态变量进行写操作,一般都需要考虑线程同步。
线程安全:
- Hashtable
- Vector
- StringBuffer
非线程安全:
- HashMap
- LinkedList、ArrayList
- StringBuilder
1.概念
如果代码所在的进程有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次的运行结果和单线程运行的结果一样的,而且其他的变量值和预期是一样的,那么此时就是线程安全的。
线程安全问题都是由全局变量以及静态变量引起的;若每个线程同时对全局变量和静态变量进行写操作,一般都需要考虑线程同步。
线程安全:
非线程安全: