读书人

AtomicInteger线程保险的ID自增对象

发布时间: 2012-08-25 10:06:20 作者: rapoo

AtomicInteger—线程安全的ID自增对象

AtomicInteger,可以用做线程安全的ID自增对象,具体的资料网上搜索一下很多,这边就不列举了,下面是一个例子

?

public static ConcurrentHashMap<String, AtomicInteger> ID = new ConcurrentHashMap<String, AtomicInteger>();

?

ID.put("Character", new AtomicInteger(1000001));

ID.put("Monster", new AtomicInteger(1000010));

?

int intNextCrtID = ID.get("Character").getAndIncrement();
??int intNextMstID = ID.get("Monster").getAndIncrement();
??
??System.out.println("intNextCrtID : " + intNextCrtID);//1000001
??System.out.println("intNextMstID : " + intNextMstID);//1000010
??
??intNextCrtID = ID.get("Character").getAndIncrement();
??intNextMstID = ID.get("Monster").getAndIncrement();
??
??System.out.println("intNextCrtID : " + intNextCrtID);//1000002
??System.out.println("intNextMstID : " + intNextMstID);//1000011

?

备注:AtomicInteger 的最大值是2147483647,超过这个数字在递增的话就变成-2147483648

读书人网 >编程

热点推荐