package com.cxy.springdataredis.hashmap; import javax.lang.model.element.VariableElement; import java.util.HashMap; import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; public class Mythread implements Runnable { public static Map<Integer,Integer> map= new HashMap<Integer,Integer>(2); public static AtomicInteger atomicInteger= new AtomicInteger(); @Override public void run() { while (atomicInteger.get()<10000){ map.put(atomicInteger.get(),atomicInteger.get()); atomicInteger.incrementAndGet(); } } }
package com.cxy.springdataredis.hashmap; public class ThredDemo { public static void main(String[] args) { for (int i =0;i<10;i++){ new Thread(new Mythread()).start(); } } }
本文探讨了使用原子变量AtomicInteger与HashMap进行并发编程的实践。通过具体代码示例,展示了如何在多线程环境下安全地更新共享数据,避免竞态条件。深入解析了线程安全性和效率之间的平衡。
171万+

被折叠的 条评论
为什么被折叠?



