当前位置: 首页 > news >正文

企业网站建设一站式服务vps wordpress 安装

企业网站建设一站式服务,vps wordpress 安装,黄页88网推广服务,贸易公司注册多少钱ReentrantLock是JDK唯一实现了Lock接口的类 lock() 是平常使用得最多的一个方法#xff0c;就是用来获取锁。如果锁已被其他线程获取#xff0c;则进行等待。 由于在前面讲到如果采用Lock#xff0c;必须主动去释放锁#xff0c;并且在发生异常时#xff0c;不会自动释放锁…ReentrantLock是JDK唯一实现了Lock接口的类 lock() 是平常使用得最多的一个方法就是用来获取锁。如果锁已被其他线程获取则进行等待。 由于在前面讲到如果采用Lock必须主动去释放锁并且在发生异常时不会自动释放锁。因此一般来说使用Lock必须在try{}catch{}块中进行并且将释放锁的操作放在finally块中进行以保证锁一定被被释放防止死锁的发生。 实例 各自独立的Lock对象 两个线程的lock对象是彼此独立没有任何关系没有起到锁的作用 Testpublic void testLock1() {// 两个线程的lock对象是彼此独立没有任何关系没有起到锁的作用new Thread() {Overridepublic void run() {Lock lock new ReentrantLock();String tNameThread.currentThread().getName();System.out.println(tName还没有锁开始主动获取锁......);lock.lock();// 主动获取锁System.out.println(tName获取到锁);try {int n 1 / 0;System.out.println(n);for (int i 0; i 10; i) {System.out.println(tName: i);}} catch (Exception e) {System.out.println(tName出错了);}finally {//lock.unlock();}}}.start();new Thread() {Overridepublic void run() {Lock lock new ReentrantLock();String tNameThread.currentThread().getName();System.out.println(tName还没有锁开始主动获取锁......);lock.lock();// 主动获取锁此时获取不到锁因为线程1出错了lock()不会主动释放锁线程1又没有释放锁所以就死锁了。System.out.println(tNametName获取到锁);for (int i 0; i 10; i) {System.out.println(tName: i);}}}.start();}运行结果 Thread-0还没有锁开始主动获取锁...... Thread-0获取到锁 Thread-0出错了 Thread-1还没有锁开始主动获取锁...... Thread-1tName获取到锁 Thread-1:0 Thread-1:1 Thread-1:2 Thread-1:3 Thread-1:4 Thread-1:5 Thread-1:6 Thread-1:7 Thread-1:8 Thread-1:9 锁对象是同一个 两个线程的锁对象是同一个当获取锁的线程没有释放锁的时候就产生了死锁其他线程只能无止尽地等待 Testpublic void testLock2() {//两个线程的锁对象是同一个当获取锁的线程没有释放锁的时候就产生了死锁其他线程只能无止尽地等待Lock lock new ReentrantLock();new Thread() {Overridepublic void run() {String tNameThread.currentThread().getName();System.out.println(tName还没有锁开始主动获取锁......);lock.lock();// 主动获取锁System.out.println(tName获取到锁);try {int n 1 / 0;System.out.println(n);for (int i 0; i 10; i) {System.out.println(tName: i);}} catch (Exception e) {System.out.println(tName出错了);}finally {}}}.start();new Thread() {Overridepublic void run() {String tNameThread.currentThread().getName();System.out.println(tName还没有锁开始主动获取锁......);lock.lock();// 主动获取锁此时获取不到锁因为之前出错了lock()不会主动释放锁线程又没有释放锁所以就死锁了。System.out.println(tNametName获取到锁);for (int i 0; i 10; i) {System.out.println(tName: i);}}}.start();} 运行结果 Thread-0还没有锁开始主动获取锁...... Thread-0获取到锁 Thread-0出错了 Thread-1还没有锁开始主动获取锁...... 释放锁 两个线程的锁对象是同一个当获取锁的线程没有释放锁的时候就产生了死锁其他线程只能无止尽地等待 在try-finally里不管是顺利执行完还是出错都要主动释放锁则其他线程就能获取到 Testpublic void testLock3() {//两个线程的锁对象是同一个当获取锁的线程没有释放锁的时候就产生了死锁其他线程只能无止尽地等待//在try-finally里不管是顺利执行完还是出错都要主动释放锁则其他线程就能获取到Lock lock new ReentrantLock();new Thread() {Overridepublic void run() {String tNameThread.currentThread().getName();System.out.println(tName还没有锁开始主动获取锁......);lock.lock();// 主动获取锁System.out.println(tName获取到锁);try {int n 1 / 0;System.out.println(n);for (int i 0; i 10; i) {System.out.println(tName: i);}} catch (Exception e) {System.out.println(tName出错了);}finally {System.out.println(tName释放锁);lock.unlock();}}}.start();new Thread() {Overridepublic void run() {String tNameThread.currentThread().getName();System.out.println(tName还没有锁开始主动获取锁......);lock.lock();// 主动获取锁此时获取不到锁因为之前出错了lock()不会主动释放锁线程又没有释放锁所以就死锁了。System.out.println(tNametName获取到锁);for (int i 0; i 10; i) {System.out.println(tName: i);}}}.start();} 运行结果 Thread-0还没有锁开始主动获取锁...... Thread-0获取到锁 Thread-0出错了 Thread-0释放锁 Thread-1还没有锁开始主动获取锁...... Thread-1tName获取到锁 Thread-1:0 Thread-1:1 Thread-1:2 Thread-1:3 Thread-1:4 Thread-1:5 Thread-1:6 Thread-1:7 Thread-1:8 Thread-1:9
http://www.yutouwan.com/news/50849/

相关文章:

  • 网站建设营销推广工作淄博 网站运营
  • 抚州市做棋牌网站百度渠道开户哪里找
  • 企业网站app开发平台快速建立平台网站开发
  • 免费做网站手机广东中山市做网站
  • 品牌网站建设哪家公司好vis设计机构
  • dede网站怎么备份搜索引擎优化
  • ps做淘宝网站导航栏图书网站建设实训总结
  • 小企业网站建设地点在微信上怎么做网站
  • 河南网站托管优化长春建设公司网站
  • 电脑怎么做服务器 网站中国建筑招聘
  • 南山区住房和建设局官方网站温州seo优化排名公司
  • 什么网站可以自己做字word发布wordpress
  • 网站建设流程王晴儿做门户网站需要什么资质
  • 芜湖网站建设海长卷发背影图wordpress4.6.9
  • 平顺网站建设家用电脑当服务器建设网站
  • 白城做网站c 可以做网站吗
  • 安全生产门户网站建设大型网站建设基本流程
  • 为什么凡科网做的网站无法搜索珠海室内设计学校
  • 沈阳网站建设推广平台长沙seo网站优化
  • 福州建设招聘信息网站星光影视园网站建设案例
  • dnf怎么做盗号网站安福网站制作
  • 广东海外建设监理有限公司官方网站河北建设工程信息网登陆
  • 登陆不了建设银行网站上海建设工程学校
  • html5手机网站开发网站内容及功能模块设计
  • 网站页脚包括什么网站建设项目成本估算表
  • 规则网站建设芜湖有哪些知名企业
  • 金坛建设局招标网站建设银行的网站用户名是什么问题
  • 广州网站建设价格怎么建立网站数据库
  • 国外的技术社区郑州seo顾问热狗网
  • 温州编程网站企业建站流程