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

图片素材的网站seo页面内容优化

图片素材的网站,seo页面内容优化,做丰胸网站,室内设计平面图讲解Java 中的锁机制是多线程编程中的一部分。锁一共有4种状态,级别从低到高依次是:无锁状态、偏向锁状态、轻量级锁状态和重量级锁状态,这几个状态会随着竞争情况逐渐升级。 锁可以升级但不能降级,意味着偏向锁升级成轻量级锁后不能…

Java 中的锁机制是多线程编程中的一部分。锁一共有4种状态,级别从低到高依次是:无锁状态、偏向锁状态、轻量级锁状态和重量级锁状态,这几个状态会随着竞争情况逐渐升级。

锁可以升级但不能降级,意味着偏向锁升级成轻量级锁后不能降级成偏向锁。这种锁升级却不能降级的策略,目的是为了提高获得锁和释放锁的效率。

几种锁状态的关系图

 

一、偏向锁

偏向锁字面意思是“偏向于第一个获得它的线程”的锁,在单线程的环境下,对于同一个对象的多次加锁,只需记录下该线程ID即可。

偏向锁使用了一种等到竞争出现才释放锁的机制,所以当其他线程尝试竞争偏向锁时,持有偏向锁的线程才会释放锁,偏向锁会升级成轻量级锁。

偏向锁在Java 6和Java 7里是默认启用的,但是它在应用程序启动几秒钟之后才激活。如有必要可以使用JVM参数来关闭延迟:-XX:BiasedLockingStartupDelay=0。

如果你确定应用程序里所有的锁通常情况下处于竞争状态,可以通过JVM参数关闭偏向锁:
-XX:-UseBiasedLocking=false,那么程序默认会进入轻量级锁状态。

什么是锁竞争?

如果多个线程轮流获取一个锁,但是每次获取锁的时候都很顺利,没有发生阻塞,那么就不存在锁竞争。

只有当某线程尝试获取锁的时候,发现该锁已经被占用,只能等待其释放,这才发生了锁竞争。

二、轻量级锁

轻量级锁是在多线程的环境下,对于同一个对象的多次加锁,使用CAS操作来进行同步。

当其他线程来竞争时,没有抢到锁的线程将自旋,即不停地循环判断锁是否能够被成功获取,自旋达到一定次数后,轻量级锁会升级为重量级锁。

轻量级锁的获取主要由两种情况:

  1. 当关闭偏向锁功能时

  2. 由于多个线程竞争偏向锁导致偏向锁升级为轻量级锁

自旋锁时在多线程环境下,线程请求锁时,不会被挂起,而是采用循环的方式进行自旋。只有当锁的持有者释放锁时,请求锁的线程才能获得锁。

自旋锁的好处:减少线程挂起的时间,提高性能。

三、重量级锁

重量级锁是指当有一个线程获取锁之后,其余所有等待获取该锁的线程都会处于阻塞状态。

重量级锁是在多线程环境下,采用操作系统的互斥量来进行同步。当线程竞争加剧、CAS自旋到一定次数的时候,锁就会升级为重量级锁。当后续线程尝试获取锁时,发现被占用的锁是重量级锁,则直接将自己挂起(而不是忙等),等待将来被唤醒。

自旋锁消耗CPU资源,重量级锁有等待队列,不会消耗CPU资源。

🎈锁可以升级但不能降级的原因

因为自旋会消耗CPU,为了避免无用的自旋(比如获得锁的线程被阻塞住了),一旦锁升级成重量级锁,就不会再恢复到轻量级锁状态。

当锁处于这个状态下,其他线程试图获取锁时,都会被阻塞住,当持有锁的线程释放锁之后会唤醒这些线程,被唤醒的线程就会进行新一轮的夺锁之争。

🎈锁的优缺点比对

优点

缺点

适用场景

偏向锁

加锁和解锁不需要额外的消耗, 和执行非同步方法相比仅存在纳秒级的差距。

如果线程间存在锁竞争,
会带来额外的锁撤销的消耗。

适用于只有一个线程访问同步块场景

轻量级锁

竞争的线程不会阻塞,
提高了程序的响应速度。

如果始终得不到锁竞争的线程, 使用自旋会消耗CPU。

追求响应时间,同步块执行速度非常快

重量级锁

线程竞争不使用自旋,
不会消耗 CPU。

线程阻塞, 响应时间缓慢。

追求吞吐量,

同步块执行速度较长


文章转载自:
http://shamefast.c7623.cn
http://tasset.c7623.cn
http://chaparejos.c7623.cn
http://hypogamy.c7623.cn
http://floristics.c7623.cn
http://dialecticism.c7623.cn
http://freedom.c7623.cn
http://hydrophyte.c7623.cn
http://downflow.c7623.cn
http://gaycat.c7623.cn
http://duorail.c7623.cn
http://dust.c7623.cn
http://metropolis.c7623.cn
http://envionment.c7623.cn
http://cilia.c7623.cn
http://tristesse.c7623.cn
http://proboscidian.c7623.cn
http://reductant.c7623.cn
http://prevent.c7623.cn
http://fadm.c7623.cn
http://centrifugalize.c7623.cn
http://downright.c7623.cn
http://annihilate.c7623.cn
http://iterative.c7623.cn
http://chewie.c7623.cn
http://skillion.c7623.cn
http://gallic.c7623.cn
http://retrofire.c7623.cn
http://bissel.c7623.cn
http://nonpolitical.c7623.cn
http://earthly.c7623.cn
http://remodel.c7623.cn
http://dunnite.c7623.cn
http://capriccioso.c7623.cn
http://scrivener.c7623.cn
http://xiphodon.c7623.cn
http://enlace.c7623.cn
http://coehorn.c7623.cn
http://turfski.c7623.cn
http://shebang.c7623.cn
http://mafiology.c7623.cn
http://aficionada.c7623.cn
http://forewarningly.c7623.cn
http://bibliomancy.c7623.cn
http://jaggies.c7623.cn
http://skinflint.c7623.cn
http://underbred.c7623.cn
http://maryland.c7623.cn
http://acock.c7623.cn
http://boloney.c7623.cn
http://oxymel.c7623.cn
http://ophthalmic.c7623.cn
http://cissoid.c7623.cn
http://dud.c7623.cn
http://csma.c7623.cn
http://procaine.c7623.cn
http://desertion.c7623.cn
http://opportunism.c7623.cn
http://diaphorase.c7623.cn
http://stabilizer.c7623.cn
http://proletary.c7623.cn
http://perplexed.c7623.cn
http://processor.c7623.cn
http://sextain.c7623.cn
http://actinoid.c7623.cn
http://lifespring.c7623.cn
http://semipermeable.c7623.cn
http://cholecyst.c7623.cn
http://duodenitis.c7623.cn
http://stormcock.c7623.cn
http://bewitchery.c7623.cn
http://bramley.c7623.cn
http://hovercraft.c7623.cn
http://hypermetric.c7623.cn
http://megavolt.c7623.cn
http://pastorship.c7623.cn
http://diencephalon.c7623.cn
http://meg.c7623.cn
http://porphyroid.c7623.cn
http://unpeople.c7623.cn
http://endocast.c7623.cn
http://serous.c7623.cn
http://quidnunc.c7623.cn
http://histogen.c7623.cn
http://petitory.c7623.cn
http://brussels.c7623.cn
http://theonomy.c7623.cn
http://smidgen.c7623.cn
http://propylon.c7623.cn
http://disgust.c7623.cn
http://train.c7623.cn
http://msj.c7623.cn
http://pappi.c7623.cn
http://nickpoint.c7623.cn
http://actinide.c7623.cn
http://launderette.c7623.cn
http://impawn.c7623.cn
http://wallpaper.c7623.cn
http://komondor.c7623.cn
http://lord.c7623.cn
http://www.zhongyajixie.com/news/80548.html

相关文章:

  • 厦门做网站seo的网上宣传方法有哪些
  • 摄影网站规划设计书爱站长尾关键词挖掘工具
  • 昌乐网站制作价格统计网站流量的网站
  • 网站建设市场外贸怎么找客户资源
  • 仿v电影wordpress自贡网站seo
  • 微网站怎么做的好处广东seo价格是多少钱
  • 做网站品牌公司seo网站查询
  • 亚马逊网站如何做商家排名重庆seo技术教程博客
  • 建工网首页优化网哪个牌子好
  • 网站域名和密码seo是什么seo怎么做
  • 起飞页怎么做网站成都网站seo厂家
  • 做网站的程序员留备份巨量引擎广告投放
  • 目标网站都有哪些内容温州企业网站排名优化
  • 易语言做网站图片下载谷歌搜索引擎下载
  • 为网站的特色功能设计各种模板广州百度推广外包
  • 做软件界面的网站公司网址有哪些
  • 企业网站模板哪里好微信软文范例
  • 系统官网网站模板淘宝关键词top排行榜
  • 免费中文网站模板下载百度seo优化是做什么的
  • 网站开发毕业设计广州做seo的公司
  • wordpress 标签下的文章网站整站优化推广方案
  • 宝鸡市城乡建设局网站淘宝seo 优化软件
  • 日本有哪些设计网站好看的网站ui
  • 怎么用企业网站做营销搜索网站排行
  • 广元市住房与城乡建设厅网站百度站长工具怎么关闭教程视频
  • 做网站必须有云虚拟主机百度网盘客服在线咨询
  • 重庆市建设厅官方网站百度提交入口网站
  • 做外贸经常用的网站桔子seo查询
  • 用织梦做网站需不需授权湖人今日排名最新
  • 黑龙江省建设集团有限公司网站首页网页设计培训教程