色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

java - 基于redis開發的分布式鎖,沒達到預期效果.

瀏覽:97日期:2024-02-07 08:15:42

問題描述

思路是用redis的setNX來獲取鎖,并加上超時時間,在使用完后刪除key來釋放鎖,沒獲取到鎖的就一直輪詢setNX來獲取鎖直到獲取成功,但是每次刪除完key之后并沒有線程獲取到了鎖。不知道是什么原因。

代碼放出來:

public class RedisLock {public static void lock(String key){lock(key,60); }public static void lock(String key,int time){Jedis jedis = RedisUtil.getClient();try { for (;;) {//這一步在unlock以后還一直返回的NULL并沒有返回OK!!!String result = jedis.set(key, '1', 'NX', 'EX', time);System.out.println(result);if('OK'.equals(result)){ break;}Thread.sleep(300); }} catch (Exception e) { e.printStackTrace();} finally{ jedis.close();} }public static void unLock(String key){Jedis jedis = RedisUtil.getClient();try { jedis.del(key);} catch (Exception e) { e.printStackTrace();} finally{ jedis.close();} }public static void main(String[] args) throws Exception{System.out.println(RedisUtil.getClient().del('seckill'));//開啟100條線程去搶購1000個商品for (int i = 0; i < 100; i++) { new SeckillThread(i).start();}while(Thread.activeCount()>1){ Thread.sleep(1000);}System.out.println('還剩商品數量:'+SeckillServiceImpl.goodNum); }}class SeckillServiceImpl{//商品總數 public static int goodNum = 1000;public void kill(){if(goodNum>0){ goodNum--;} }public int getGoodNum(){return goodNum; }}class SeckillThread extends Thread{ private int i;public SeckillThread(int i) {this.i = i; } @Override public void run() {try { SeckillServiceImpl seckillService = new SeckillServiceImpl(); System.out.println('線程['+i+']加鎖'); RedisLock.lock('seckill'); seckillService.kill();} catch (Exception e) { e.printStackTrace();} finally { System.out.println('線程['+i+']釋放鎖'); RedisLock.unLock('seckill');} } }

問題解答

回答1:

用Redisson吧

回答2:

把你的kill方法寫出來

回答3:

先查查為什么一直是null吧

標簽: java
主站蜘蛛池模板: 一级毛片免费完整视频 | 亚洲欧美在线看 | 亚洲高清一区二区三区久久 | 亚洲精品久久99久久一区 | 欧美a级在线 | 国产人成精品 | 国产精品色内内在线播放 | 中文一级国产特级毛片视频 | 99超级碰碰成人香蕉网 | 欧美自拍网 | 韩国一区在线 | 模特三级在线观看 | 91成人在线播放 | 亚洲在线成人 | 亚洲美女黄视频 | 久久精品18| 欧美2区| 精品久久久久国产免费 | 成年人免费黄色 | 中文字幕乱码中文乱码综合 | 国产一二三区在线 | 色综合加勒比 | 欧美另类交视频 | 亚洲一区在线免费观看 | 欧美乱一级在线观看 | 国产成人经典三级在线观看 | 欧美日本免费观看αv片 | 国产午夜亚洲精品理论片不卡 | 精品国产欧美一区二区三区成人 | 久久精品国产欧美 | 91精品国产免费久久久久久青草 | 女人夜色黄网在线观看 | 国产真实乱系列2孕妇 | 日韩一区二区在线播放 | 国产午夜永久福利视频在线观看 | 香蕉久| 亚洲美女高清aⅴ视频免费 亚洲美女黄色片 | 女人叉开腿让男人捅 | 很黄很色的免费视频 | 欧美最刺激好看的一级毛片 | a毛片免费视频 |