java
itisapity
这个作者很懒,什么都没留下…
展开
-
用CompletableFuture模拟死锁
将两把锁作为参数传递给MySupplier,get方法中用两个synchronized加锁,中间等待5秒package com.test.jvm;import java.lang.management.ManagementFactory;import java.util.concurrent.CompletableFuture;import java.util.concurrent.Ex...原创 2019-03-09 17:09:43 · 1083 阅读 · 0 评论 -
使用Redis做分布式锁遇到的一个问题
加锁代码很简单,lockName不存在时设值value,一分钟时间过期,redis可以保证原子性public boolean lock(String lockName, String value) { return valueOperations.setIfAbsent(lockName, value, Duration.ofSeconds(60)); }解锁用redis脚本实现原子性...原创 2019-03-12 14:15:21 · 357 阅读 · 0 评论