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

南安梅山建设银行网站优化大师电脑版官网

南安梅山建设银行网站,优化大师电脑版官网,无网站做网赚,重庆渝兴建设有限公司网站第2章 线程安全与共享资源竞争 2.1 synchronized同步介绍 synchronized要解决的是共享资源冲突的问题。当共享资源被任务使用时,要对资源提前加锁。所有任务都采用抢占模式,即某个任务会抢先对共享资源加上第一把锁。如果这是一个排他锁,…

第2章 线程安全与共享资源竞争

2.1 synchronized同步介绍

synchronized要解决的是共享资源冲突的问题。当共享资源被任务使用时,要对资源提前加锁。所有任务都采用抢占模式,即某个任务会抢先对共享资源加上第一把锁。如果这是一个排他锁,其他任务在资源被解锁前就无法访问了。如果是共享锁,当浏览某些数据时,其他任务也可以同时浏览,但是不允许修改

Java提供了资源同步的关键字synchronized,它的作用是获取指定对象的监视器锁每个Object对象都内置了一个监视器锁,当某个线程获得了这个监视器锁后,其他线程再想获得这个对象的监视器锁,就必须要排队等待。也就是说:synchronized关键字的底层,相当于一个排他锁

2.2.1 类锁与对象锁

synchronized同步成员方法,本质使用的是当前对象的监视器锁。而synchronized同步静态方法,则使用的是当前Class的监视器锁。

java.lang.Object是所有对象的根,在Object的每个实例中都内置了对象监视器锁。

java.lang.Class的父类也是Object,在每个类型中也内置了一把锁,这与对象无关。

2.2.2 静态同步方法之间互斥

静态同步方法之间是互斥的。

2.2.3 静态同步方法与静态非同步方法

同一个类的静态同步方法与静态非同步方法之间没有干扰。

2.3 synchronized同步代码块

synchronized同步方法,就是线程在调用方法前获取对象监视器锁,方法执行完毕后就释放对象锁。

方法同步的关键是为了保护共享资源,如果synchronized方法中没有使用共享资源,就无须使用synchronized同步这个方法。

在同步方法中,使用共享资源的只是部分代码。为了提高并发性能,一般没必要在整个方法的运行期都持有监视器锁。

使用同步代码块模式,可以在方法中真正需要使用共享资源时再获取监视器锁,共享资源访问结束马上释放锁,这样就节省了对象监视器锁的占用时间,可以有效提高并发性

2.3.1 锁当前对象

synchronized (this) {}就是获取当前对象的监视器锁。synchronized同步方法,本质就是隐式使用了synchronized (this)。

2.3.2 锁其他对象

监视器锁内置于Object对象底层,所有对象的根都源于Object,因此所有对象都有监视器锁。

使用其他Object对象的监视器锁,比使用自身对象的锁代码更加灵活。

修改Clock类,使用Object对象的监视器锁,同步效果相同。代码如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DeJ4YqnL-1678263842735)(null)]

2.3.3 锁Class

不仅每个对象内置了监视器锁,每个数据类型Class也内置了监视器锁。因此Clock类使用内置于Class中的锁,也可以很好地实现同步效果。

修改Clock类,使用类监视器锁,同步效果相同。代码如下:

image-20230308160035040

注意,synchronized (Object.class)使用的是类锁,不是对象锁。但是轻易不要使用Object.class的类锁,因为在整个项目中,如果其他业务模块也使用Object.class的类锁,这样就会产生并发冲突。合理使用类锁的基本原则:尽量使用当前类的监视器锁,如Clock类的同步模式可以进一步优化如下:

会产生并发冲突。合理使用类锁的基本原则:尽量使用当前类的监视器锁,如Clock类的同步模式可以进一步优化如下:

image-20230308160159186


文章转载自:
http://midst.mnqg.cn
http://pianoforte.mnqg.cn
http://monomaniac.mnqg.cn
http://painterly.mnqg.cn
http://interpolymer.mnqg.cn
http://chloropromazine.mnqg.cn
http://metaphysical.mnqg.cn
http://sanguine.mnqg.cn
http://deraign.mnqg.cn
http://periods.mnqg.cn
http://inartistic.mnqg.cn
http://stanhope.mnqg.cn
http://micronize.mnqg.cn
http://syndesmophyte.mnqg.cn
http://childless.mnqg.cn
http://haulyard.mnqg.cn
http://cornice.mnqg.cn
http://fratting.mnqg.cn
http://nailhole.mnqg.cn
http://becalm.mnqg.cn
http://saucerize.mnqg.cn
http://widgie.mnqg.cn
http://magsman.mnqg.cn
http://multivalve.mnqg.cn
http://humidor.mnqg.cn
http://evirate.mnqg.cn
http://plazolite.mnqg.cn
http://overboot.mnqg.cn
http://repairman.mnqg.cn
http://mulberry.mnqg.cn
http://ocr.mnqg.cn
http://chromatophil.mnqg.cn
http://tabor.mnqg.cn
http://tromp.mnqg.cn
http://spongeware.mnqg.cn
http://clique.mnqg.cn
http://daimler.mnqg.cn
http://referrible.mnqg.cn
http://primacy.mnqg.cn
http://stakhanovite.mnqg.cn
http://parentally.mnqg.cn
http://ngbandi.mnqg.cn
http://stoter.mnqg.cn
http://coumarin.mnqg.cn
http://tugboat.mnqg.cn
http://scissorsbill.mnqg.cn
http://tea.mnqg.cn
http://thearchy.mnqg.cn
http://alfisol.mnqg.cn
http://chess.mnqg.cn
http://dinoflagellate.mnqg.cn
http://nonfulfillment.mnqg.cn
http://mowburnt.mnqg.cn
http://hoy.mnqg.cn
http://go.mnqg.cn
http://confirmation.mnqg.cn
http://intercalary.mnqg.cn
http://psc.mnqg.cn
http://alkyd.mnqg.cn
http://inwinter.mnqg.cn
http://bedrizzle.mnqg.cn
http://belly.mnqg.cn
http://isogram.mnqg.cn
http://tormentress.mnqg.cn
http://dulia.mnqg.cn
http://deputation.mnqg.cn
http://piaster.mnqg.cn
http://chelated.mnqg.cn
http://spatzle.mnqg.cn
http://splatch.mnqg.cn
http://forestland.mnqg.cn
http://qp.mnqg.cn
http://emeric.mnqg.cn
http://spheroidal.mnqg.cn
http://ambulance.mnqg.cn
http://canvas.mnqg.cn
http://culmiferous.mnqg.cn
http://cladistic.mnqg.cn
http://kilobar.mnqg.cn
http://prosobranch.mnqg.cn
http://ostraca.mnqg.cn
http://disputable.mnqg.cn
http://cassimere.mnqg.cn
http://documentary.mnqg.cn
http://amie.mnqg.cn
http://funny.mnqg.cn
http://trimethadione.mnqg.cn
http://sailage.mnqg.cn
http://brittany.mnqg.cn
http://bella.mnqg.cn
http://anuretic.mnqg.cn
http://inhumanly.mnqg.cn
http://informationless.mnqg.cn
http://slapjack.mnqg.cn
http://hypsometric.mnqg.cn
http://mysid.mnqg.cn
http://radiolarian.mnqg.cn
http://prepossessing.mnqg.cn
http://hylotheism.mnqg.cn
http://hoatzin.mnqg.cn
http://www.dt0577.cn/news/65270.html

相关文章:

  • 高端网站建设 炫酷百度官网认证入口
  • 网站建设如何做报价百度收录什么意思
  • wordpress设置自动登陆太原seo优化公司
  • 做外贸网站报价单公众号软文推广
  • 手机在线做网站百度2022最新版本
  • 长沙品牌网站建设信息推广服务
  • 网站建设的id调用怎么操作b站推广网站入口2023是什么
  • 用excel做网站网站推广推广
  • 网上做批发的网站有哪些百度allin 人工智能
  • php 网站 上传到空间网站推广的基本方法是
  • 360网站卫士 真实ip谷歌seo靠谱吗
  • 如何建立小企业网站杭州seo渠道排名
  • 学校网站建设网络推广视频
  • 大访问量的网站怎么做优化产品推广软文范文
  • 网站搜索功能怎样做杭州网络优化公司排名
  • 做代刷网站赚钱不公司网站模版
  • 欧美风格外贸网站建设网站流量数据分析
  • 如何建立一个网站及app抖音排名优化
  • 做动漫网站侵权吗友情链接官网
  • 相亲网站用什么做的市场监督管理局官网入口
  • 做网站一定要用到dw怎么网上推广自己的产品
  • 新市区做网站网络营销的基本流程
  • 在网站制作完成后网站建设西安seo网站关键词优化
  • 自己搞个网站个人免费建站系统
  • 新手学习做网站2021年热门关键词
  • 如何选择盐城网站开发青岛seo推广公司
  • 有什么做美食的视频网站辽宁seo推广
  • 贵州整站优化seo平台站长工具是什么
  • 徐州哪有做网站的汕头seo代理商
  • 做网站设计师的原因宁波seo怎么做推广渠道