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

网站技术制作廊坊自助建站设计

网站技术制作,廊坊自助建站设计,企业管理咨询公司排行,做网站怎么提取视频无广告什么是AQS#xff08;全称AbstractQueuedSynchronizer#xff09; 代表#xff1a;重入锁、独占锁/共享锁、公平锁/非公平锁 是JUC包中线程阻塞、阻塞队列、唤醒、尝试获取锁的一个框架 AbstractQueuedSynchronizer是全称#xff0c;是一个模板模式#xff0c;一些线程…什么是AQS全称AbstractQueuedSynchronizer 代表重入锁、独占锁/共享锁、公平锁/非公平锁 是JUC包中线程阻塞、阻塞队列、唤醒、尝试获取锁的一个框架 AbstractQueuedSynchronizer是全称是一个模板模式一些线程同步公共的抽象类里面有同步线程的类公共行为比如阻塞队列、加锁 AQS主要思想 尝试获取锁如果获取失败就加入阻塞队列如果有条件就先加入条件队列如ReentrantLock的创建多个newCondition()条件队列中线程达到某个条件就会加入到阻塞队列阻塞队列中的线程一直尝试获取锁。 ReentrantLock lock new ReentrantLock(); 其中有个参数是否为公平锁 加锁 1. 判断参数是否为true 如果为true那么参数Syn就是FairSync如果为false或者空代表非公平锁 Syn就是NonfairSync 2. 使用lock.lock(); 公平锁直接加入等待队列 非公平锁尝试获取锁如果获取到了那么就改变锁状态为1代表已经有线程持有锁了并且将当前线程复制给exclusiveOwnerThread参数留作后面判断是否为当前线程如果当前线程就可以冲入直接返回true拿到锁如果获取锁失败了就加入等待队列加入等待队列时还会再次获取一次锁如果还是失败了就会彻底加入等待队列 3. 加入等待队列 加入阻塞队列时再次尝试获取锁 队列使用的是链表将当前Node节点加入到链表后面如果是第一次加入到链表中就会创建头节点头节点代表的就是已经获取到锁的那个线程Thread参数为null当前线程的Node节点在这个节点的后面并且Thread为当前线程。 如果第一次加入阻塞队列初始化队列下边这个代码相当于是自旋锁循环设置头节点 设置当前ReentrantLock的wait状态为-1。 加入队列以后设置指定当前线程 阻塞使用 LockSupport.park(this); 当前线程调用interrupted();方法优雅停止线程。 加锁完毕 释放锁 如果当前操作的线程不是加锁的线程就会抛出 IllegalMonitorStateException异常; 尝试改变当前锁的状态为0,如果成功就将当前操作线程改为0并且状态改为0 修改waitStauts并且指定出队的线程唤醒。 老师图片
http://www.sczhlp.com/news/246896/

相关文章:

  • 国外做问卷网站好眉山建网站
  • 台中网站建设wordpress 死链检测
  • 杭州网络推广有限公司什么是seo什么是sem
  • 龙岩任做网站的哪几个比较好wordpress页面布置
  • 高端品牌网站建设电商网站设计个性wordpress主题
  • 正邦设计公司百度seo权重
  • 食品网站建设需求分析查网站
  • 手机销售网站怎么做网站建设 后台空间容量
  • 微网站和手机站区别石家庄互联网公司排行榜
  • asp.net 网站登陆设计中国建设服务信息官网
  • 网站制作流程的组成部分包括河南省建设厅网站公示公告
  • 腾讯网站建设python爬虫爬小说来做网站
  • 2025年口碑好的玻璃钢储罐行业内知名厂家排行榜
  • 2025年评价高的红木家具厂家推荐及选择参考
  • 2025年质量好的高速单壁波纹管设备最新TOP排名厂家
  • 网站建设服务标语移动端快速排名
  • 雕塑网站模板上饶便宜的做网站公司
  • 市环保局网站建设方案拓者设计吧官网图片
  • 没有备案的网站能否帮网上支付ppt模板大全百度云
  • 江西网站建设优化服务爱站工具包怎么使用
  • 自己做的网站怎样链接数据库宁波seo关键词优化设计
  • 网站更改备案信息到哪里学平面设计
  • 做会所网站的做啥网站赚钱?
  • 祥云建站平台wordpress语言切换器
  • 外贸类网站模板嘉兴网站模板建站
  • 西安网站建设公司西安网络公司wordpress 显示摘要
  • 毕节建设厅网站网站开发心得
  • 哪些网站自己做宣传郑州高端网站建设是什么意思
  • 网站建设是设网站建设算研发费用吗
  • 做网站赚钱缴税吗做百度移动网站点