fla*_*ash 3 java collections concurrency multithreading synchronization
ConcurrentHashMap与依赖于其线程安全但不依赖于其同步细节的程序中的Hashtable完全可互操作.
我对线程安全与同步细节感到困惑,任何人都能告诉我一个例子吗?
alf*_*alf 10
Hashtable有各种方法synchronized,这是一个公开的信息.例如,您可以继承Hashtable,添加更多synchronized方法 - 并且知道您在使用相同的同步机制时大部分都可以.
此外,您的代码可以使用synchronized (myHashTable)块,有效地确保myHashTable在您处于此块时不会从其他线程调用任何方法.
这就是所有可用的"同步细节",您可以免费使用(尽管不鼓励使用).
不是这样的ConcurrentHashMap:它是线程安全的(在某种意义上更是如此,参见Peter Lawrey的回答)Hashtable,但是你没有被告知如何实现这种线程的安全性.因此,您不能滥用或扩展它:您应该按原样使用它.
| 归档时间: |
|
| 查看次数: |
268 次 |
| 最近记录: |