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

网站开发定制合同有经验的常州手机网站

网站开发定制合同,有经验的常州手机网站,wordpress手机怎么使用,建造师考试1.公平锁和非公平锁 1.1含义 公平锁:在竞争环境下#xff0c;先到临界区的线程比后到的线程一定更快地获取得到锁。非公平锁:先到临界区的线程未必比后到的线程更快地获取得到锁。 1.2如何自我实现 公平锁实现#xff1a;可以把竞争的线程放在一个先进先出的队列上。只要…1.公平锁和非公平锁 1.1含义 公平锁:在竞争环境下先到临界区的线程比后到的线程一定更快地获取得到锁。非公平锁:先到临界区的线程未必比后到的线程更快地获取得到锁。 1.2如何自我实现 公平锁实现可以把竞争的线程放在一个先进先出的队列上。只要持有锁的线程执行完了唤醒队列的下一个线程去获取锁就好了。 非公平锁实现:后到的线程可能比前到临界区的线程获取得到锁。那实现也很简单线程先尝试能不能获取得到锁如果获取得到锁了就执行同步代码了。如果获取不到锁那就再把这个线程放到队列呗 。 公平和非公平的区别: 线程执行同步代码块时是否会去尝试获取锁。如果会尝试获取锁那就是非公平的如果不会尝试获取锁直接进队列再等待唤醒那就是公平的。 2.AQS 2.1AQS的含义 给我们实现锁的一个框架内部实现的关键就是维护了一个先进先出的队列以及state状态变量。 先进先出队列存储的载体叫做Node节点该节点标识着当前的状态值、是独占还是共享模式以及它的前驱和后继节点等等信息。 简单理解就是: AQS定义了模板具体实现由各个子类完成。 总体的流程可以总结为: 会把需要等待的线程以Node的形式放到这个先进先出的队列上state变量则表示为当前锁的状态。 实现像ReentrantLock、ReentrantReadWriteLock、CountDownLatch、Semaphore这些常用的实现类都是基于AQS实现的。 AQS支持两种模式: 独占 (锁只会被个线程独占)和共享 (多个线程可同时执行)。 3.ReentrantLock 3.1ReentrantLock加锁和解锁的过程 加锁当线程CAS获取锁失败将当前线程入队列把前驱节点状态设置为SIGNAL状态并将自己挂起。 解锁 把state置0唤醒头结点下个合法的节点被唤醒的节点线程自然就会去获取锁。 疑问为什么要设置前驱节点为SIGNAL状态 其实归终结底就是为了判断节点的状态去做些处理。 Node 中节点的状态有4种分别是: CANCELLED(1)、SIGNAL(-1)、CONDITION(-2)、PROPAGATE(-3)和0 在ReentrantLock解锁的时候会判断节点的状态是否小于0小于等于0才说明需要被唤醒。 4.总结 另外值得一提的是: 公平锁的实现与非公平锁是很像的只不过在获取锁时不会直接尝试使用CAS来获取锁。只有当队列没节点并且state为0时才会去获取锁不然都会把当前线程放到队列中。
http://www.yutouwan.com/news/434921/

相关文章:

  • 六盘水遵义网站建设怎么做苏州企业网站建设设计
  • 怎么做公司的宣传网站建设银行融信通网站
  • 能不能同行网站做站长统计成都哪些公司做网站好
  • 电商网站的程序有哪些anew wordpress
  • 网站导航仿站最新一键自助建站程序源码
  • 推广展示类网站海洋高端的专业做网站
  • 怎么做网站内部链接5台电脑做视频网站服务器
  • 好的响应式网站有哪些专业放心的企业展厅设计
  • 怎么免费做网站推广页面制作多少钱
  • 网站地图写法个人怎么制作公众号
  • 妇幼网站建设ppt简历在线制作免费导出
  • 做网站 点击跳转产品怎么做推广和宣传
  • 可以做游戏的网站有哪些方面安康免费做网站
  • 上海网站推广个人网站酷站赏析
  • 呼市建设官方网站湖南企业名录大全
  • 高端大气上档次的网站多种郑州网站建设
  • 如何在微信平台做购买网站c2c网站怎么做
  • 做网站的规范网站开发成本预算价目表
  • 建立个人网站的目的长沙网络工程学院
  • wordpress建好站了打不开首页亳州网站网站建设
  • 做百科需要用什么网站做参考做网站买域名就行了吗
  • 腾云网站建设设计师 推荐 网站
  • wordpress设置站点地址网站建设推广和网络推广
  • 怎么让网站快速被收录网页设计师培训宣传语
  • 开发公司调研汇报材料怎么写成都seo公司排名
  • 网站改版需求说明潍城营销型网站建设
  • 太仓seo网站优化软件本地工程招标网
  • 如何收集网站建设资料芜湖seo网站优化
  • 代做淘宝联盟网站网站开发诺亚科技
  • 珠海公司网站制作wordpress mysql_query