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

珠宝行网站建设方案网站建设合同

珠宝行网站建设方案,网站建设合同,做网站用什么软件,专业彩票网站开发 APP开发乐观锁悲观锁公平锁非公平锁可重入锁独占锁(写锁)共享锁(写锁) 乐观锁(自旋锁):认为共享资源每次被访问都不会出现安全问题,无需加锁。 CAS算法和版本号法就是乐观锁的具体实现。 C…
  • 乐观锁
  • 悲观锁
  • 公平锁
  • 非公平锁
  • 可重入锁
  • 独占锁(写锁)
  • 共享锁(写锁)

乐观锁(自旋锁):认为共享资源每次被访问都不会出现安全问题,无需加锁。

CAS算法和版本号法就是乐观锁的具体实现。

CAS只有当旧值和预期值一样,再将旧值更新为新值。但是CAS存在ABA问题,即对数据进行修改,随后又复原为原值的问题。解决这一问题可以使用版本号法。

悲观锁:认为共享资源每次被访问时都会出现安全问题,故每次获取资源都需要上锁。

synchronizedReentrantLock等独占锁都是悲观锁。

公平锁:锁被释放后,先申请的线程先获得锁。性能比较差,因为CPU唤醒线程具有一定的开销。

非公平锁:锁被释放后,后申请的线程可能先后去锁,是随机的或者按照优先级排序的。性能更好,因为减少了CPU唤醒线程的开销。但是也可能导致饥饿现象(某些线程永远获取不到锁)。

ReentrantLock默认创建的是非公平锁,可以通过其构造器传参创建公平锁和非公平锁。
true:公平锁
false:非公平锁

可重入锁:一个线程可以多次获取同一个锁。如一个线程获得了一个锁,这时锁还没有释放,而线程想要再次获取锁是可以的,如果是不可重入锁,就会导致死锁。

synchronizedReentrantLock都是可重入锁。

独占锁(写锁):最多只能同时被一个线程获取。

共享锁(读锁):可以同时被多个线程获取。

synchronized和ReentrantLock的区别

区别synchronizedReentrantLock
加锁、解锁自动手动,配合try、finally语句块实现
中断等待锁的线程不可中断能够中断
超时等待不支持支持
支持公平/非公平锁非公平锁构造方法工作两种锁

synchronized的锁升级

过程:偏向锁—>轻量级锁—>重量级锁

偏向锁:jdk8默认是轻量级锁,但如果设定了 -XX:BiasedLockingStartupDelay = 0 ,则会获得一把偏向锁,并且锁对象的markword会记录偏向锁线程ID。

轻量级锁:当下一个线程竞争偏向锁时,会判断markword中的偏向锁ID是否为当前线程,如果不相等,偏向锁就会升级会轻量级锁。每个线程再通过CAS自旋的操作获取锁。

重量级锁:如果锁竞争加剧(线程自旋次数获自旋线程数超过某个阈值),轻量级锁升级为重量级锁。申请资源的线程会被挂起,进入到操作系统内核态的等待队列中,等待操作系统调度,然后映射回用户态。

在这里插入图片描述

http://www.dtcms.com/wzjs/224701.html

相关文章:

  • nike网站建设分析百度登陆
  • ecshop怎么做网站全国今日新增疫情
  • 自适应企业网站用什么框架做郑州做网站公司有哪些
  • 深圳微网站建设公司宣传方式
  • 十大图片素材网站最近三天的国际新闻大事
  • 北京网站建设 标准型 新翼网店代运营骗局流程
  • 做网店好还是网站哈尔滨seo网络推广
  • 做兼职设计去哪个网站好google官方入口
  • 做企业网站备案都需要什么如何推广公众号
  • 攀枝花做网站发布
  • 网站建设好后为什么要维护自媒体推广渠道
  • 百度描述 网站域名停靠浏览器
  • 网站制作带模板破解版网站排名怎么做上去
  • 河北网站制作公司报价淄博搜索引擎优化
  • 网站建设的一些专业术语快速seo软件
  • 网站开发公司兴田德润在那里app软件开发制作公司
  • 网站的思维导图怎么做游戏代理平台一天结一次
  • 替人做赌彩网站网站友情链接是什么
  • 网站怎么做的有创意seo检查工具
  • 做网站视频下载百度推广登录入口官网网址
  • 怎么让网站绑定域名访问不了盘搜搜
  • 做网站服务器一年多少钱seo优化诊断工具
  • 南宁百度网站建设企业做推广有用吗
  • 可以用服务器做网站百度站长工具抓取诊断
  • 网站开发行业资讯怎样搭建自己的网站
  • 新疆建设厅官方网站文件站长工具怎么用
  • 5118站长工具通州优化公司
  • 建设协会网站网站推广是做什么的
  • 免费空间做自己的网站杭州百度快照优化排名推广
  • zen cart 创建的网站aso优化工具