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

网站开发价目表免费的网站域名查询565wcc

网站开发价目表,免费的网站域名查询565wcc,如何免费申请网站,外贸出口是做什么的ReentrantLock ReentrantLock与Synchronized工作原理Condition ReentrantLock与Synchronized ReentrantLock是一种可重入的独占锁,相对于synchronized,ReentrantLock具备如下特点: 可中断可以设置超时时间可以设置为公平锁支持多个条件变量…

ReentrantLock

  • ReentrantLock与Synchronized
  • 工作原理
  • Condition

ReentrantLock与Synchronized

ReentrantLock是一种可重入的独占锁,相对于synchronized,ReentrantLock具备如下特点:

  1. 可中断
  2. 可以设置超时时间
  3. 可以设置为公平锁
  4. 支持多个条件变量
  5. 与synchronized一样,都支持可重入

在使用时要注意4个问题:

  1. 默认情况下ReentrantLock为非公平锁而非公平锁;
  2. 加锁次数和释放锁次数一定要保持一致,否则会导致线程阻塞或程序异常;
  3. 加锁操作一定要放在try代码之前,这样可以避免未加锁成功又释放锁的异常;
  4. 释放锁一定要放在finally中,否则会导致线程阻塞。

工作原理

当有线程调用lock方法的时候:如果线程获取到锁了,那么就会通过CAS的方式把AQS内部的state设置成为1。这个时候,当前线程就获取到锁了。只有首部的节点(head节点封装的线程)可以获取到锁。其他线程都会加入到这一个阻塞队列当中。如果是公平锁的话,当head节点释放锁之后,会优先唤醒head.next这一个节点对应的线程。如果是非公平锁,
允许新来的线程和head之后唤醒的线程通过cas竞争锁。

Condition

相当于synchronized中的wait()和notify()机制,通常与Lock接口(比如ReentrantLock)一起使用。调用Condition的await()和signal()方法,都必须在lock保护之内。

public class Main {private final ReentrantLock lock = new ReentrantLock();private final Condition condition = lock.newCondition();public static volatile boolean flag = false;private void lockCondition() throws InterruptedException {new Thread(new Runnable() {@Overridepublic void run() {lock.lock();try {System.out.println("t1线程抢到锁");while (!flag) {System.out.println("t1线程等待");condition.await();}} catch (InterruptedException e) {throw new RuntimeException(e);} finally {lock.unlock();System.out.println("t1线程释放锁");}System.out.println("线程t1执行完成");}}, "t1").start();Thread.sleep(3000);new Thread(new Runnable() {@Overridepublic void run() {lock.lock();try {System.out.println("t2线程抢到锁");flag = true;condition.signal();} finally {lock.unlock();System.out.println("t2线程释放锁");}System.out.println("t2线程执行完成");}}, "t2").start();}public static void main(String[] args) throws InterruptedException {new Main().lockCondition();}
}
http://www.dtcms.com/wzjs/302901.html

相关文章:

  • 网站设计开发的销售主要工作seo课程
  • 宝和网站建设口碑营销的特点
  • 自己网站做访问统计代码seo研究学院
  • 原创文学网站建设seo推广优化
  • 安徽做网站公司哪家好电商平台如何推广运营
  • 网站科普信息化建设的意义网络营销策划论文
  • wordpress 虚拟会员插件seo推广教程
  • 易企互联网站建设seo顾问推推蛙
  • 百草味网站建设目的网站seo基础优化
  • 网页设计大作业模板百度seo营销推广多少钱
  • 郑州的网站建设公司台州网站建设优化
  • 品牌网站设计建设外国网站的浏览器
  • 泰安市违法建设网站郑州seo排名工具
  • 网站关键词布局seo关键词优化是什么意思
  • 招标代理网站建设app下载推广平台
  • 简单的logo设计seo搜索排名优化是什么意思
  • 新疆建设兵团安监局网站南通企业网站制作
  • 网站建设有哪些软件有哪些内容建立网站平台需要多少钱
  • 合肥庐阳区建设局网站宣传推广方式
  • 重庆手机网站推广定做口碑营销案例分析
  • 动画设计属于什么大类上海seo外包
  • 网站建设是程序员吗关键词排名seo
  • 厦门有做网站建设深圳网站优化推广
  • 做全屏网站设计时容易犯的错建设网站公司
  • 网站建设与网页制作盒子模型企业网站seo排名优化
  • 纯代码给wordpress增加淘客功能seo外包服务项目
  • 邯郸wap网站建设公司网络营销计划书怎么写
  • 新疆公路建设局网站做一个网站的步骤
  • 阳西县住房和城乡建设部网站免费推广引流软件
  • 东莞做网站最好的是哪家seo分析工具有哪些