我只是想探索一下ThreadSafe 是什么意思?
以下是我的理解:
对我来说看起来像;允许多个线程同时访问一个集合;这与它的同步无关。例如任何没有同步关键字的方法;是线程安全的,意味着多个线程可以访问它。
开发人员可以选择在此方法上维护更多逻辑(同步),以在多线程访问数据时保持数据完整性。这与线程安全是分开的。
如果我的上述陈述是错误的;只需阅读下面的 JAVA DOC 以获取 `ConcurrentHashMap:
keySet:视图的迭代器是一个“弱一致”的迭代器,它永远不会抛出 ConcurrentModificationException,并保证在构造迭代器时遍历元素,并且可以(但不保证)反映构造后的任何修改。
上面的声明说keySet迭代器不会保证数据的完整性;而多线程正在修改集合。
你能回答我吗,* ConcurrentHashMap 的 KeySet 迭代器是线程安全的吗?
我对线程安全的理解是正确的??