Tag: atomicity

计算catch块中发生的exception数量

我试图收集所有exception发生的计数和ConcurrentHashMap的exception名称,以便我应该知道这个exception发生了多少次。 因此,在我的catch块中,我有一个映射,它将继续添加exception名称并且总计数发生。 下面是我which I have modified to always throw SQL Exception代码which I have modified to always throw SQL Exception每次都为测试目的which I have modified to always throw SQL Exception ,这样我才能看到exception的数量是否准确。 所以某些情况 – 1)如果我选择线程数为10 ,任务数为50 ,那么在该映射中,我可以看到该特定字符串的500个exception 2)但是如果我选择线程数为40 ,任务数量为500那么我在该地图19000不到20000exception,它显示在19000左右。 我的问题是为什么? 我在这做什么错? class Task implements Runnable { public static final AtomicInteger counter_exception = new AtomicInteger(0); public static ConcurrentHashMap exceptionMap = […]

AtomicBoolean与同步块有什么区别

我试图理解以下两个代码块之间的区别 AtomicBoolean ab = new AtomicBoolean(false); using the following to get and set state. . ab.get(); ab.set(X); vs. private boolean ab = false; private final Object myboollock = new Ojbect(); public void setAB(boolean state) { synchronized(myboollock) { ab = state; } } public boolean getAB() { synchronized(myboollock) { return ab; } } 我需要线程保护一个布尔值,就是所有,并且过去使用过后面的方法,但是想开始使用Atomic对象,(如果)它们是安全的吗?