常常说多线程情况下要用ConcurrentHashMap来保障线程安全。
之前隐约记得synchronized关键字保证了线程安全。
具体没有看是哪里使用。
今天看了下源码,用的地方主要在两处
put() remove()
put方法与remove方法里面又使用了putVal与replaceNode
里面涉及树与链表相关的内容,比较复杂,我没去细究。
反正就是putVal与replaceNode方法内使用了synchronized关键字保证了线程安全
常常说多线程情况下要用ConcurrentHashMap来保障线程安全。
之前隐约记得synchronized关键字保证了线程安全。
具体没有看是哪里使用。
今天看了下源码,用的地方主要在两处
put() remove()
put方法与remove方法里面又使用了putVal与replaceNode
里面涉及树与链表相关的内容,比较复杂,我没去细究。
反正就是putVal与replaceNode方法内使用了synchronized关键字保证了线程安全