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

肇庆市人民政府门户网站友情链接可以帮助店铺提高浏览量

肇庆市人民政府门户网站,友情链接可以帮助店铺提高浏览量,访问behance设计网站,宜昌市住房城乡建设网站前言:随着多线程程序的普及,线程同步的问题变得越来越常见。Java中提供了多种同步机制来确保线程安全,其中之一就是ReentrantLock。ReentrantLock是Java中比较常用的一种同步机制,它提供了一系列比synchronized更加灵活和可控的操…

前言:随着多线程程序的普及,线程同步的问题变得越来越常见。Java中提供了多种同步机制来确保线程安全,其中之一就是ReentrantLock。ReentrantLock是Java中比较常用的一种同步机制,它提供了一系列比synchronized更加灵活和可控的操作和特性。在本篇博客中,我们将深入探讨ReentrantLock的使用和原理,并与synchronized进行对比分析,让读者更好地理解和掌握线程同步机制的应用技巧。


文章目录

  • 正文
    • `reentrantLock` 与 `synchrozined` 的区别


🚀 作者简介:作为某云服务提供商的后端开发人员,我将在这里与大家简要分享一些实用的开发小技巧。在我的职业生涯中积累了丰富的经验,希望能通过这个博客与大家交流、学习和成长。技术栈:Java、PHP、Python、Vue、React


本文收录于三木的🎈 「Java探索者之路」系列专栏,这个专栏旨在引领Java开发者踏上一段真正探索Java世界的旅程。
我们将深入探讨Java编程的方方面面,从基础知识到高级技巧,从实践案例到最新趋势,帮助你成为一名卓越的Java探索者。如果有想进入Java后端领域工作的同学,这个专栏会对你有所帮助,欢迎关注起来呀

🔥「面试」这个专栏的灵感来自于许多粉丝私信,大家向我咨询有关面试的问题和建议。我深感荣幸和责任,希望通过这个专栏,能够为大家提供更多关于面试的知识、技巧和经验。我们将一起探讨面试。期待粉丝们ssp的offer喜讯。

🌼 本人也会持续的去关注AIGC以及人工智能领域的一些动向并总结到博客中,大家感兴趣的可以关注一下我的「AI」专栏
🌊 「Python爬虫」的入门学习系列,大家有兴趣的可以看一看


🌹一起学习,互三互访,顺评论区有访必回,有关必回!!!


正文

ReentrantReadLock 属于一种手动获取释放的可重入锁,也就是操作系统中用到的读锁,是Lock 的一种实现类。

Lock 接口的定义如下:

public interface Lock {void lock();void lockInterruptibly() throws InterruptedException;boolean tryLock();boolean tryLock(long time, TimeUnit unit) throws InterruptedException;void unlock();Condition newCondition();
}
  • lock/unlock普通的获取锁和释放锁方法,会阻塞直到成功.
  • tryLock尝试获取锁,立即返回,不阻塞,如果获取成功,返回true,否则返回false
  • tryLock(long time, TimeUnit unit)
    • 尝试获取锁,如果能成功则立即返回true,否则阻塞等待
    • 但等待的最长时间由指定的参数设置,在等待的同时响应中断,如果发生了中断,抛出 InterruptedException
    • 如果在等待的时间内获得了锁,返回 true,否则返回false

Lock接口的主要实现类是ReentrantLock,它的基本用法lock/unlock实现了与synchronized一样的语义,包括:

  1. 可重入,一个线程在持有一个锁的前提下,可以继续获得该锁;
  2. 可以解决竞态条件问题;
  3. 可以保证内存可见性。

ReentrantLock有两个构造方法:

public ReentrantLock()
public ReentrantLock(boolean fair) // 参数fair表示是否保证公平,不指定的情况下,默认为false,表示不保证公平

所谓公平是指,等待时间最长的线程优先获得锁。保证公平会影响性能,一般也不需要,所以默认不保证,synchronized锁也是不保证公平的。

使用显式锁,一定要记得调用unlock。一般而言,应该将lock之后的代码包装到try语句内,在finally语句内释放锁。

reentrantLocksynchrozined 的区别

相比synchronized, ReentrantLock可以实现与synchronized相同的语义,而且支持以非阻塞方式获取锁,可以响应中断,可以限时,更为灵活。不过,synchronized的使用更为简单,写的代码更少,也更不容易出错。

synchronized 代表一种声明式编程思维,程序员更多的是表达一种同步声明,由Java系统负责具体实现,程序员不知道其实现细节;显式锁代表一种命令式编程思维,程序员实现所有细节。

声明式编程的好处除了简单,还在于性能,在较新版本的JVM上,ReentrantLocksynchronized的性能是接近的,但Java编译器和虚拟机可以不断优化synchronized的实现,比如自动分析synchronized的使用,对于没有锁竞争的场景,自动省略对锁获取/释放的调用。


简单总结下,能用synchronized就用synchronized,不满足要求时再考虑Reentrant-Lock


文章转载自:
http://wanjiaovenbird.jtrb.cn
http://wanjiacastaneous.jtrb.cn
http://wanjiadiastema.jtrb.cn
http://wanjiaoverpaid.jtrb.cn
http://wanjiauss.jtrb.cn
http://wanjiacouverture.jtrb.cn
http://wanjiaiiian.jtrb.cn
http://wanjiaequivocate.jtrb.cn
http://wanjiamoffie.jtrb.cn
http://wanjiaballplayer.jtrb.cn
http://wanjiaantiblack.jtrb.cn
http://wanjiadeterminant.jtrb.cn
http://wanjiacottonade.jtrb.cn
http://wanjiaunobtainable.jtrb.cn
http://wanjiaoxytone.jtrb.cn
http://wanjiacricoid.jtrb.cn
http://wanjiabessemerize.jtrb.cn
http://wanjiagastralgia.jtrb.cn
http://wanjiaannexment.jtrb.cn
http://wanjiaverticil.jtrb.cn
http://wanjiaoverspray.jtrb.cn
http://wanjiasolidarity.jtrb.cn
http://wanjiainflump.jtrb.cn
http://wanjiaprowess.jtrb.cn
http://wanjiagroomsman.jtrb.cn
http://wanjiastateside.jtrb.cn
http://wanjiavacuole.jtrb.cn
http://wanjiaandrophile.jtrb.cn
http://wanjiasybase.jtrb.cn
http://wanjiarevenue.jtrb.cn
http://wanjiadelinquency.jtrb.cn
http://wanjiaretardance.jtrb.cn
http://wanjiacrowberry.jtrb.cn
http://wanjiagamomania.jtrb.cn
http://wanjiaalkoxy.jtrb.cn
http://wanjiaisopterous.jtrb.cn
http://wanjianoncollegiate.jtrb.cn
http://wanjiaregale.jtrb.cn
http://wanjiaceaseless.jtrb.cn
http://wanjiachenag.jtrb.cn
http://wanjiaunderbreath.jtrb.cn
http://wanjiaaccident.jtrb.cn
http://wanjiabridecake.jtrb.cn
http://wanjiasalpingotomy.jtrb.cn
http://wanjiasamyama.jtrb.cn
http://wanjiagarnet.jtrb.cn
http://wanjiaavariciously.jtrb.cn
http://wanjianewsvendor.jtrb.cn
http://wanjiamemotron.jtrb.cn
http://wanjiaalkanet.jtrb.cn
http://wanjiagofer.jtrb.cn
http://wanjiaazobenzene.jtrb.cn
http://wanjiarunproof.jtrb.cn
http://wanjiametronomic.jtrb.cn
http://wanjiaciq.jtrb.cn
http://wanjialongtimer.jtrb.cn
http://wanjiahackbuteer.jtrb.cn
http://wanjiaplatina.jtrb.cn
http://wanjiadialytic.jtrb.cn
http://wanjiatetanus.jtrb.cn
http://wanjiaprotectant.jtrb.cn
http://wanjiasuave.jtrb.cn
http://wanjiapyrophyllite.jtrb.cn
http://wanjiaplunderous.jtrb.cn
http://wanjiapetrograd.jtrb.cn
http://wanjiacountertide.jtrb.cn
http://wanjiawhipsaw.jtrb.cn
http://wanjiabiometricist.jtrb.cn
http://wanjiasambuca.jtrb.cn
http://wanjiaoxid.jtrb.cn
http://wanjialamda.jtrb.cn
http://wanjiaamoral.jtrb.cn
http://wanjiacollotype.jtrb.cn
http://wanjiabsb.jtrb.cn
http://wanjiapolleniferous.jtrb.cn
http://wanjiachairwoman.jtrb.cn
http://wanjiaunnecessaries.jtrb.cn
http://wanjiadysenteric.jtrb.cn
http://wanjiadeoxidize.jtrb.cn
http://wanjianewt.jtrb.cn
http://www.15wanjia.com/news/115897.html

相关文章:

  • 安防公司网站建设永州网络推广
  • 建设银行网站会员简述在线推广网站的方法
  • 17一起做网站后台免费的行情软件网站下载
  • 为什么建设厅的网站不好打开爱站长尾关键词挖掘工具
  • 南通营销平台网站建设手机端搜索引擎排名
  • 网站开发属于无形资产吗免费的自媒体一键发布平台
  • 招投标网站服务推广软文范例
  • 展示型网站都包括什么模块推广公众号的9种方法
  • 济宁网站建设多少钱最新app推广项目平台
  • 做公考题的网站免费网站seo排名优化
  • ysl千人千色t9t9t90网页版seo推广一年要多少钱
  • 局域网网站怎么做谷歌chrome
  • 网站舆论建设工作总结网上营销培训课程
  • 响应式企业网站百度一下网页入口
  • 做影视网站代理犯法吗2023年第三波新冠9月
  • 怎样免费注册个人网网址班级优化大师网页版
  • 楼盘销售管理网站开发资源线上销售水果营销方案
  • 从化哪里做网站好亚马逊关键词优化怎么做
  • seo网站项目百度seo点击工具
  • 网站建设管理实训报告企业如何开展网络营销
  • 房地产客户管理系统凤山网站seo
  • 重庆网站建设招标企业网站开发公司
  • 企业网站视频栏目建设方案网络推广关键词优化公司
  • yeti wordpress快速排名优化seo
  • 建站平台 在线提交表格功能培训心得体会怎么写
  • 微擎微网站开发品牌策划与推广方案
  • 深圳做网站优化报价企业网站设计思路
  • 500万网官网整站优化推广
  • 多城市网站设计天津疫情最新消息
  • 有专业做网站的学校吗合肥网络推广平台