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

dede模板网站如何搭建住房和城乡建设部网站一级建造师

dede模板网站如何搭建,住房和城乡建设部网站一级建造师,企业所得税会计分录怎么做,什么是门户网站简单的来说#xff0c;如果一个线程组里#xff0c;能保证每个线程都能拿到锁#xff0c;那么这个锁就是公平锁。相反#xff0c;如果保证不了每个线程都能拿到锁#xff0c;也就是存在有线程饿死#xff0c;那么这个锁就是非公平锁。 一、引入概念 1、公平锁#xff1… 简单的来说如果一个线程组里能保证每个线程都能拿到锁那么这个锁就是公平锁。相反如果保证不了每个线程都能拿到锁也就是存在有线程饿死那么这个锁就是非公平锁。 一、引入概念 1、公平锁 多个线程按照申请锁的顺序去获得锁线程会直接进⼊队列去排队永远都是队列的第⼀位才能得到锁。 优点所有的线程都能得到资源不会饿死在队列中。 缺点吞吐量会下降很多队列⾥⾯除了第⼀个线程其他的线程都会阻塞cpu唤醒阻塞线程的 开销会很⼤。 2、⾮公平锁 多个线程去获取锁的时候会直接去尝试获取获取不到再去进⼊等待队列如果能获取到就直接获取到锁。 优点可以减少CPU唤醒线程的开销整体的吞吐效率会⾼点CPU也不必取唤醒所有线程会减少唤起线程的数量。 缺点可能导致队列中间的线程⼀直获取不到锁或者⻓时间获取不到锁导致饿死。 二、Java中的实现 如何能保证每个线程都能拿到锁呢队列FIFO是一个完美的解决方案也就是先进先出java的ReenTrantLock也就是用队列实现的公平锁和非公平锁。 在公平的锁中如果有另一个线程持有锁或者有其他线程在等待队列中等待这个所那么新发出的请求的线程将被放入到队列中。而非公平锁上只有当锁被某个线程持有时新发出请求的线程才会被放入队列中此时和公平锁是一样的。所以它们的差别在于非公平锁会有更多的机会去抢占锁。 1、公平获取锁 java.util.concurrent.locks.ReentrantLock$FairSync.javaprotected final boolean tryAcquire( int acquires) {final Thread current Thread.currentThread();int c getState();//状态为0说明当前没有线程占有锁if (c 0 ) {//如果当前线程是等待队列的第一个或者等待队列为空则通过cas指令设置state为1当前线程获得锁if (isFirst(current) compareAndSetState( 0 , acquires)) {setExclusiveOwnerThread(current);return true ;}} //如果当前线程本身就持有锁那么叠加状态值持续获得锁else if (current getExclusiveOwnerThread()) {int nextc c acquires;if (nextc 0 )throw new Error( Maximum lock count exceeded );setState(nextc);return true ;}//以上条件都不满足那么线程进入等待队列。return false ; }2、非公平获取锁 java.util.concurrent.locks.ReentrantLock$Sync.javafinal boolean nonfairTryAcquire(int acquires) {final Thread current Thread.currentThread();int c getState();if (c 0) {//如果当前没有线程占有锁当前线程直接通过cas指令占有锁无视等待队列就算自己排在队尾也是这样if (compareAndSetState(0, acquires)) {setExclusiveOwnerThread(current);return true;}}else if (current getExclusiveOwnerThread()) {int nextc c acquires;if (nextc 0) // overflowthrow new Error(Maximum lock count exceeded);setState(nextc);return true;}return false;}三、适用场景 更多的是直接使用非公平锁非公平锁比公平锁性能高5-10倍因为公平锁需要在多核情况下维护一个队列如果当前线程不是队列的第一个无法获取锁增加了线程切换次数。
http://wiki.neutronadmin.com/news/58854/

相关文章:

  • 大型做网站物流网站建设公司
  • 怎么给网站做搜索功能wordpress极简风
  • 做儿童交互网站龙岩网站建设全包
  • 十大经典口碑营销案例重庆 seo
  • 青岛移动网站建设电子商务网站建设策划书的流程
  • 青岛大型网站建设琼海网站建设公司
  • 网站开发广东wordpress 删除后台菜单
  • 服务器能放多少个网站济南网站建设工作
  • 小学文化学网站开发中企动力科技是国企吗
  • 杭州酒店网站建设方案如何在自己网站做直播
  • 做一个自己的网站网站建议怎么写
  • 企业网站上的工资表怎么做cn域名与com域名
  • 网站建设公司的公司微信开发者社区
  • 合肥哪里有建站公司某些网站域名解析错误
  • 备案时暂时关闭网站医院为什么要做门户网站建设
  • 空间网站大全国外交易平台
  • 求购信息网站绍兴网站建设制作
  • 网站管理系统制作泰国浪琴手表网站
  • 网站建设评选打分长春网站排名提升
  • 怎样做美食网站解决方案网站设计
  • 云酒店网站建设网站的栏目管理
  • 网站屏蔽右键破解app免费下载大全
  • 网站建设与运营课程总结网站建设第一品牌 网站设计
  • 网站建设公司的客户网站品牌推广公司
  • 网站首页的尺寸wordpress google统计
  • 网站托管运营阜宁住房和城乡建设局网站
  • 和小孩做的网站wordpress wiki 皮肤
  • 哪个酒店网站做的好看的沧州网站艰涩很
  • 个人备案的网站涉及到资金html网页设计模板免费下载
  • 什么叫网站建设服务网站建公司简介