永发信息网

java怎么设置获取读写锁超时时间

答案:2  悬赏:70  手机版
解决时间 2021-04-04 02:23
java怎么设置获取读写锁超时时间
最佳答案
1 package bing.test;
2
3 import java.util.concurrent.locks.Lock;
4 import java.util.concurrent.locks.ReadWriteLock;
5 import java.util.concurrent.locks.ReentrantReadWriteLock;
6
7 public class UpgradeLock{
8 private UpgradeLock(){ }
9 private final static ReadWriteLock rwlock =new ReentrantReadWriteLock();
10 private final static Lock read=rwlock.readLock();
11 private final static Lock write=rwlock.writeLock();
12
13
14 public static void main(String[] args){
15 log(getReadLock());
16 log(getWriteLock());
17 }
18
19
20 public static boolean getReadLock()
21 {
22 try{
23 int time = 0;
24 // 设置超时时间为5秒,获取Lock,
25 //如果返回false(即获取失败)则等待直到超时,然后返回获取lock的状态
26 while(!read.tryLock() && ++time < 5){
27 Thread.sleep(1000);
28 log(time);
29 }
30 return read.tryLock();
31 }catch(Exception e)
32 {
33 e.printStackTrace();
34 return false;
35 }
36 }
37 public static boolean getWriteLock()
38 {
39 try{
40 int time = 0;
41 // 设置超时时间为5秒,获取Lock,
42 //如果返回false(即获取失败)则等待直到超时,然后返回获取lock的状态
43 while(!write.tryLock() && ++time < 5){
44 Thread.sleep(1000);
45 log(time);
46 }
47 return read.tryLock();
48 }catch(Exception e)
49 {
50 e.printStackTrace();
51 return false;
52 }
53 }
54 public static void log(Object m){
55 System.out.println(m);
56 }
57 }
全部回答
虽然我很聪明,但这么说真的难到我了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
玩DOTA时鼠标动不了
帮我扩两个词在里面。谢啦!
幽人自种千头桔,远客来寻百结花 描写什么
为什么我一看到白丝的丝袜就有种发自真心的
各位亲来啊!帮我填“今天我当家”的表格
爱好摄影的王叔叔从国外旅游回来,小文从他的
我自己想加盟一个快递公司可以吗怎么办 急求
unturned3.0在家种菜的地基叫什么
1个平方等于多少个厘方?
歇后语:景阳冈上武松遇大虫――
you’re boring me什么意思啊
盗墓在那个朝代最为猖獗
准备一月中旬去泰国,请问昭帕雅公主号和东方
我在威海刚刚参加工作,单位只缴纳五险不交公
单选题d__ferentA.efB.ifC.eD.i
推荐资讯
描写鸟儿飞翔的诗句,关于飞翔的诗词
麦当劳的6元新地和7元2迷你新地哪个超值?
怎么把视频变小,如何把视频文件变小,但又不
C++中普通函数和构造函数调用有什么区别
房子外围有柱、内部没有柱的那种叫什么结构
单选题第一次世界大战的起止时间是A.1914~19
一个门一个人在干活是什么成语
龙啸天安琪尔51章小说狼性军长要够了没第51章
单选题Onlyafterherealizedthesignificance
上海运河湾知识产业园区的创想家.创业社区怎
广西桂平哪里荔枝最多
单选题2005年11月份江西省九江地区发生5.7级
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?