学习记录:初步进入redisson分布式锁(一)
代码背景
private AtomicInteger atomicInteger = new AtomicInteger(0);
@Test
public void contextLoads() {
RMap<String,Integer> map = redissonClient.getMap("test-map");
//设定资源100块钱
map.put("test" , 100);
//100个线程去抢
for (int i = 0; i < 100;i++) {
new Thread(() -> {
task(map);
}).start();
}
while(true){
//等待100条都执行完毕
if(atomicInteger.get() == 100){
break;
}
}
System.out.println(map.get("test"));
}
private void task(RMap<String,Integer> map){
Integer value = map.get("test");
System.out.println(Thread.currentThread().getName() + "-------------->" + --value);
map.put("test"