Java Collection或Map的同步详解编程语言

新集合也提供了能防止多个进程同时修改一个容器内容的机制。若在一个容器里反复,同时另一些进程介入,并在那个容器中插入、删除或修改一个对象,便会面临发生冲突的危险。我们可能已传递了那个对象,可能它位于我们前面,可能容器的大小在我们调用size()后已发生了收缩——我们面临各种各样可能的危险。针对这个问题,新的集合库集成了一套解决机制,能查出除我们的进程自己需要负责的之外的、对容器的其他任何修改。若探测到有其他方面也准备修改容器,便会立即产生一个ConcurrentModificationException(并发修改违例)。我们将这一机制称为“立即失败”——它并不用更复杂的算法在“以后”侦测问题,而是“立即”产生违例。

import java.util.*; 
 
/** 
 * Created by Frank 
 * Collection或Map的同步 
 */ 
public class Synchronization { 
    Collection c = Collections.synchronizedCollection(new ArrayList()); 
    List  list = Collections.synchronizedList(new ArrayList()); 
    Set s = Collections.synchronizedSet(new HashSet()); 
    Map m = Collections.synchronizedMap(new HashMap()); 
}

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/15986.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论