频道栏目
首页 > 资讯 > 云计算 > 正文

CME并发修改异常过程

18-05-10        来源:[db:作者]  
收藏   我要投稿
CME并发修改异常ConcurrentModificationException过程。
/**
 * @author cf
 * @version 1.0
 */
public class ConcurrentModificationException {


	public static void main(String[] args)
	{
		Map map = new ConcurrentHashMap();//new HashMap();
		
		for (int i = 1; i <=25; i++) 
		{
			new Thread(() -> {
				map.put(Thread.currentThread().getName(),UUID.randomUUID().toString().substring(0, 9));
				System.out.println(map);
			},String.valueOf(i)).start();
		}		
		
//		setNotSafe();
		//listNotSafe();
	}


//	不安全 CME异常 并发修改异常
	private static void setNotSafe()
	{
		Set set = new CopyOnWriteArraySet();//new HashSet();
		
		for (int i = 1; i <=25; i++) 
		{
			new Thread(() -> {
				set.add(UUID.randomUUID().toString().substring(0, 9));
				System.out.println(set);
			},String.valueOf(i)).start();
		}
	}


	//arraylist 不安全 CME异常 并发修改异常
	private static void listNotSafe()
	{
//		List list = new CopyOnWriteArrayList();
		//ConcurrentModificationException并发修改异常
		List list = new ArrayList();
		
		//多线程+高并发			---->		写时复制技术
		for (int i = 1; i <=35; i++) 
		{
			new Thread(() -> {
				list.add(UUID.randomUUID().toString().substring(0, 9));
				System.out.println(list);
			},String.valueOf(i)).start();
		}
	}

 

相关TAG标签
上一篇:Nginx创建虚拟主机步骤教程
下一篇:示范一下pom文件
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站