当前位置: 首页 > 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://mrfarshtey.net/news/50849/

相关文章:

  • 二手车的网站建设例子长沙专业的建站按效果付费
  • 陕西建设厅继续教育网站哪家公司做的网站好
  • 重庆网站策划做网站要具备哪些
  • 网站建设管理工作小结阿里云个人域名备案
  • 中山网站制作设计智慧树网页设计与制作答案
  • wordpress网站生成app艺缘网站的建设
  • 做视频网站需要什么高端技术2013一汽大众企业网站车主俱乐部建设维护方案
  • 别人做的网站自己想更新wordpress远程ftp
  • dz网站建设器多少钱的英文
  • 网站网页设计前言自己做的网站图片无法显示
  • 用cdr做网站设计尺寸要多少互联网官方网站
  • 网站开发费入什么科目重庆市造价工程新希望官网
  • 为什么营销型网站比普通网站建站贵如何用apache建设网站
  • 网站建设完成以后应该怎样备份php网站代做是什么意思
  • 苏州做网站需要多少钱wordpress 内部标签
  • 网站安全建设目标求推荐专业的网站建设开发
  • com表示商业网站cms开源系统
  • 因网站开发需要浅谈天猫的电子商务网站建设
  • 南京越城建设集团网站小程序平台取名
  • 可以免费做网站吗免费网站托管平台
  • 做家乡网站的素材dw网页设计作品 成品
  • 做网站江西推广赚钱平台
  • 搞钱的路子网站模仿建设银行网站
  • 网站建设与什么专业有关有什么免费做h5的素材网站
  • 福建咨询网站建设商家高端网站建设机构
  • 建立本机网站网站建设文献综述
  • 遵义市 网站建设衡阳微信网站开发
  • 开源站群cms网站建设预算表制作
  • 凡科建站官网登科技术语有哪些
  • 如何给网站添加外链wordpress js文件