@Scheduled(initialDelay = 1000, fixedDelay = 60000)
public void redisTest(){
Jedis jedis = jedisPool.getResource();
try{
jedis.set("red_packet_num","5000");
}catch (Exception e)
{
e.printStackTrace();
if (jedis != null) {
jedis.close();
}
}
finally {
if (jedis != null) {
jedis.close();
}
}
Lock lock=new ReentrantLock();
for(int i=0;i<2000;i++){
fixedThreadPool.execute(new Runnable() {
@Override
public void run() {
Jedis jedis = jedisPool.getResource();
try {
lock.lock();
String red_packet_num = jedis.get("red_packet_num");
int a = Integer.parseInt(red_packet_num) - 1;
jedis.set("red_packet_num", String.valueOf(a));
lock.unlock();
System.out.println("数据是:" + a+"当前线程是:"+Thread.currentThread().getName()+"当前时间"+ CommonUtil.getCurrentTimeFormatForHMS());
}
catch (Exception e){
e.printStackTrace();
if (jedis != null) {
jedis.close();
}
}
finally {
if (jedis != null) {
jedis.close();
}
}
}
});
}
}
代码推荐调试看看,看处其中的处理操作逻辑,如何其中的推荐实践做实际实践看看吧,谢谢!