ConcurrentHashMap 读、写和清除()
ConcurrentHashMap read, write and clear()
假设有3个读线程和1个写线程。
写线程调用map.clear()。会造成什么异常或影响?
顾名思义,它将清除地图。
clear
方法将清除整个地图,即删除所有条目。
考虑到并发性,对于读个动作,没有任何变化。他们只会读取地图在访问地图时的值。但是,对于使用 writing 操作的其他线程,ConcurrentHashMap
会自动等待 clear
操作完成,这样您就不会遇到这种 奇怪的效果 非同步并发。
仔细阅读官方文档,它解释了所有效果:ConcurrentHashMap Java-Doc
假设有3个读线程和1个写线程。 写线程调用map.clear()。会造成什么异常或影响?
顾名思义,它将清除地图。
clear
方法将清除整个地图,即删除所有条目。
考虑到并发性,对于读个动作,没有任何变化。他们只会读取地图在访问地图时的值。但是,对于使用 writing 操作的其他线程,ConcurrentHashMap
会自动等待 clear
操作完成,这样您就不会遇到这种 奇怪的效果 非同步并发。
仔细阅读官方文档,它解释了所有效果:ConcurrentHashMap Java-Doc