爱收集资源网

线程安全对象的方法和操作全解析

网络整理 2023-10-28 02:05

1.不可变

不变的对象绝对是线程安全的java控制面板中没有安全级别,不需要线程同步,如String、Long、BigInteger

2.无条件的线程安全

对象自身做了 足够的内部同步,也不需要外部同步,如 Random 、ConcurrentHashMap、Concurrent集合、atomic

3.有条件的线程安全

对象的部份方式可以无条件安全使用,但是有些方式须要外部同步,需要Collections.synchronized;有条件线程安全的最常见的事例是遍历由 Hashtable 或者 Vector 或者返回的迭代器

4.非线程安全(线程兼容)

对象本身不提供线程安全机制java控制面板中没有安全级别,但是通过外部同步,可以在并发环境使用, 如ArrayList HashMap

5.线程对立

即使外部进行了同步调用,也不能保证线程安全,这种情况十分少,如如System.setOut()、System.runFinalizersOnExit()

java控制面板中没有安
相关文章