av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

java - 基于redis開發(fā)的分布式鎖,沒達到預(yù)期效果.

瀏覽:87日期: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('還剩商品數(shù)量:'+SeckillServiceImpl.goodNum); }}class SeckillServiceImpl{//商品總數(shù) 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吧

標(biāo)簽: java
主站蜘蛛池模板: 激情婷婷| 亚洲精品国产一区 | 亚洲精品99| 国产精品jizz在线观看老狼 | 精品国产91乱码一区二区三区 | 国产成人精品久久二区二区91 | 天天操夜夜操 | 久久久久久亚洲精品 | 国产精品亚洲第一区在线暖暖韩国 | 性一交一乱一透一a级 | 国产免费麻豆视频 | www.狠狠干 | 青青草av网站| 粉嫩av久久一区二区三区 | 91在线观看视频 | 日本视频在线 | 日韩电影在线一区 | 欧美综合一区二区三区 | 欧美亚洲在线视频 | 一级毛片视频在线 | 视频一区在线观看 | 亚洲网视频| 久久人体视频 | 老司机精品福利视频 | 日韩欧美精品在线播放 | 91精品国产91久久久久福利 | 第四色播日韩第一页 | 欧美精品在线免费观看 | 涩涩鲁亚洲精品一区二区 | 天天夜夜操 | 亚洲国产二区 | 日日摸夜夜添夜夜添精品视频 | 国产免费一区二区 | 国产yw851.c免费观看网站 | 日日拍夜夜 | 国产精品国产精品国产专区不片 | 中文字幕精品一区 | 欧美aaa| 午夜欧美 | av网站在线免费观看 | 欧美精品一区在线发布 |