java – ConcurrentHashMap文档说明

ConcurrentHashMap与依赖于其线程安全但不依赖于其同步细节的程序中的Hashtable完全可互操作.

我对线程安全与同步细节感到困惑,任何人都能告诉我一个例子吗?

解决方法:

Hashtable使每个方法都同步,并且它是公开可用的信息.例如,您可以从Hashtable继承,添加更多同步方法 – 并且知道您在使用相同的同步机制时大部分都可以.

此外,您的代码可以使用synchronized(myHashTable)块,有效地确保在您处于此块时不会从其他线程调用myHashTable方法.

这就是所有可用的“同步细节”,您可以免费使用(尽管不鼓励使用).

ConcurrentHashMap不是这样的:它是线程安全的(在某种意义上更是如此,例如参见Peter Lawrey的答案)作为Hashtable,但是你没有被告知这个线程安全是如何实现的.因此,您不能滥用或扩展它:您应该按原样使用它.

上一篇:javascript – 如何使用脚本同步Google日历和电子表格


下一篇:linux – 安排cron条目仅在尚未运行时运行脚本