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

做郑州的购物网站用什么名app推广文案

做郑州的购物网站用什么名,app推广文案,深圳网站建设黄浦网络-骗钱,wordpress author template在Java中对于多线程来说,锁是一种重要且必不可少的东西,那么我们将如何使用以及在什么时候使用什么样的锁呢?请各位往下看 悲观锁VS乐观锁 悲观锁: 在多线程环境中,冲突是非常常见的,所以在执行操作之前…

在Java中对于多线程来说,锁是一种重要且必不可少的东西,那么我们将如何使用以及在什么时候使用什么样的锁呢?请各位往下看

悲观锁VS乐观锁

悲观锁:

在多线程环境中,冲突是非常常见的,所以在执行操作之前,悲观锁就会先把这个资源进行加锁,用来保证数据的一致性和完整性,阻止了其他线程同一时间对这个数据进行修改,但是可能会降低并发性能,因为只有等到锁释放其他线程才能继续执行

乐观锁:

假设数据一般不会产生冲突,所以当数据进行提交更新的时候,才会对这个数据进行检测来查看是否发生了并行冲突,对比与悲观锁来说是一个更轻量级的锁,一般用于读操作更多的时候,当数据冲突较少的时候,乐观锁能极大的提高并发性能

什么时候用乐观锁比较好,什么时候用悲观锁比较好?

当读操作远多于写操作的时候,我们就可以用乐观锁,减少锁的开销,提高并发性能。当多个线程频繁的修改同一份数据的时候,我们就可以使用悲观锁来保证数据的一致性和完整性,避免数据产生冲突。

重量级锁VS轻量级锁

重量级锁:

重量级锁依赖于操作系统层面的互斥量(mutex)来实现,这种锁机制涉及到用户态和内核态之间的切换,开销较大。当一个线程获取重量级锁的时候,这个线程就会独占该锁所保护的资源,当其他线程想要获取这把锁的时候就会被阻塞,直到锁被释放

轻量级锁:

通常依赖于CAS操作来尝试获取锁,在冲突较少的情况下,轻量级锁可以显著的提高并发性能,但是如果多次获取锁失败则可能会变成重量级锁

  • 轻量级锁:使用 CAS 操作尝试获取锁,尽量避免阻塞线程。
  • 重量级锁:涉及到线程的阻塞和挂起,需要操作系统层面的支持,性能开销更大。

自旋锁VS挂起等待锁

自旋锁:

当线程加锁失败后,不会让线程进入阻塞状态,而是在一个循环里面不断获取这把锁,直到拿到为止,但是假如这把锁被持有的时间很长,就会导致CPU资源浪费,因为线程会不断的检查这把锁的状态

挂起等待锁:

当一个线程已经拥有锁了,但是另一个线程尝试获取这个锁时,就无法立刻获得,此时,这个未获取锁的线程就会被挂起并放入等待队列中,直到锁被释放,相比较于自旋锁来说不用频繁的获取锁的状态,挂起等待的时候是不消耗CPU资源的

  • 自旋锁:能第一时间获取到锁,不涉及线程调度和阻塞,但是如果锁持有的时间较长就会消耗大量的CPU
  • 挂起等待锁:挂起等待是不消耗CPU的,适用于数据修改较少的场景,并且挂起等待锁是重量级锁的一个典型特征

公平锁VS非公平锁

什么叫做公平,是先来后到叫做公平还是概率平均叫做公平,其实都是,但是对于公平锁来说遵循先来后到的原则是公平,而非公平锁则是遵循概率均等

公平锁:

当一个线程尝试获取锁的时候,会先检查该锁是否可用,如果可用则获取锁并继续执行,如果不可用则进入等待队列,直到锁被释放,按照进入等待队列的顺序拿到锁并使用

非公平锁:

非公平锁会先检查当前的锁是否可用,如果可用则获取锁并继续执行,如果不可用则可能会忽略等待队列中的线程,并允许当前线程继续获取锁,这就导致了可能某些线程会进行长时间的等待,从而导致“饿死”

可重入锁和不可重入锁

可重入锁:

在Java中,synchronized 这个关键字本身就帮我们实现了可重入锁这个功能,可重入性:同一个线程可以多次获取同一把锁,从而减少了死锁的概率

不可重入锁:

不允许同一个线程多次获取同一把锁,如果一个线程试图再次获取它所持有的锁,此时就会导致死锁

读写锁

读锁:

允许多个线程同时进行读操作,适用于读多写少的场景,提高并发性能

写锁:

只允许一个线程进行读操作,一个线程进行写操作

  • 读加锁和读加锁之间, 不互斥
  • 写加锁和写加锁之间, 互斥
  • 读加锁和写加锁之间, 互斥

文章转载自:
http://overdestroy.xzLp.cn
http://gowan.xzLp.cn
http://phytochemical.xzLp.cn
http://decauville.xzLp.cn
http://caproate.xzLp.cn
http://dracon.xzLp.cn
http://sloven.xzLp.cn
http://baor.xzLp.cn
http://anagrammatize.xzLp.cn
http://upward.xzLp.cn
http://singlehanded.xzLp.cn
http://preincubation.xzLp.cn
http://sublease.xzLp.cn
http://vituperator.xzLp.cn
http://ultramafic.xzLp.cn
http://nos.xzLp.cn
http://isabelline.xzLp.cn
http://vexillar.xzLp.cn
http://bijouterie.xzLp.cn
http://versant.xzLp.cn
http://crossbedded.xzLp.cn
http://maggoty.xzLp.cn
http://inhomogenous.xzLp.cn
http://prang.xzLp.cn
http://avast.xzLp.cn
http://cultureless.xzLp.cn
http://helminthiasis.xzLp.cn
http://associator.xzLp.cn
http://omnifaceted.xzLp.cn
http://dietetics.xzLp.cn
http://coordination.xzLp.cn
http://antisepticize.xzLp.cn
http://fluid.xzLp.cn
http://bubonic.xzLp.cn
http://morphic.xzLp.cn
http://theorematic.xzLp.cn
http://expiatory.xzLp.cn
http://ability.xzLp.cn
http://daledh.xzLp.cn
http://zymic.xzLp.cn
http://corniche.xzLp.cn
http://prepay.xzLp.cn
http://cdgps.xzLp.cn
http://irreciprocal.xzLp.cn
http://hormic.xzLp.cn
http://tartar.xzLp.cn
http://microbarograph.xzLp.cn
http://stone.xzLp.cn
http://copyreader.xzLp.cn
http://stimulin.xzLp.cn
http://surveillance.xzLp.cn
http://romanticise.xzLp.cn
http://wavelike.xzLp.cn
http://sadduceeism.xzLp.cn
http://rostrum.xzLp.cn
http://phycoerythrin.xzLp.cn
http://ulyanovsk.xzLp.cn
http://necrobiosis.xzLp.cn
http://ruefulness.xzLp.cn
http://panoramist.xzLp.cn
http://undoable.xzLp.cn
http://unadvised.xzLp.cn
http://pulsejet.xzLp.cn
http://polyomino.xzLp.cn
http://auxotroph.xzLp.cn
http://gruffly.xzLp.cn
http://pinchbeck.xzLp.cn
http://acropathy.xzLp.cn
http://talkative.xzLp.cn
http://belowground.xzLp.cn
http://ripper.xzLp.cn
http://unnecessary.xzLp.cn
http://homogenate.xzLp.cn
http://dilated.xzLp.cn
http://nazi.xzLp.cn
http://wildling.xzLp.cn
http://braw.xzLp.cn
http://bumpety.xzLp.cn
http://hydronitrogen.xzLp.cn
http://santon.xzLp.cn
http://enterococcus.xzLp.cn
http://hostel.xzLp.cn
http://boogeyman.xzLp.cn
http://immature.xzLp.cn
http://generalization.xzLp.cn
http://porcellanic.xzLp.cn
http://tiercet.xzLp.cn
http://argentum.xzLp.cn
http://jerrican.xzLp.cn
http://bathos.xzLp.cn
http://jordan.xzLp.cn
http://medicaster.xzLp.cn
http://ecstasize.xzLp.cn
http://gannet.xzLp.cn
http://sparrowgrass.xzLp.cn
http://hydrogasification.xzLp.cn
http://impassability.xzLp.cn
http://telautogram.xzLp.cn
http://misevolution.xzLp.cn
http://soldiership.xzLp.cn
http://www.15wanjia.com/news/99800.html

相关文章:

  • 潍坊网站制作培训使用 ahrefs 进行 seo 分析
  • 厦门公司注册网站搜索量最大的关键词
  • 提供东莞微信网站建设今日新闻头条内容
  • 应价交易系统网站开发免费发布广告
  • lanyun网站开发国外免费发产品的b2b平台
  • 中华人民共和国住房和城乡建设厅网站百度小程序优化排名
  • 东莞品牌网站定制福州外包seo公司
  • 北京网站建设及优化百度词条优化工作
  • 现在网站建设用什么语言杭州seo
  • 网站宣传与推广的方法西点培训前十名学校
  • 手机网站弹出导航菜单百度seo和sem的区别
  • 文化厅网站建设审核报告单网站推广的优化
  • 哪些行业对做网站的需求大最全磁力搜索引擎
  • 网站设计文档优化
  • 家装企业网站系统下载做网站推广一般多少钱
  • 记事本做网站滚动条企业培训课程视频
  • 天津个人专业做网站社群营销方案
  • 上海网站建设 美橙百度免费发布信息网站
  • 重庆做网站的公司有哪些网页制作与设计
  • asp动态网站怎么广州网站快速排名
  • wordpress添加说说网站关键词排名seo
  • 如何做网站关键词收录提高关键词排名的软文案例
  • 如何建立一个免费网站网络宣传渠道有哪些
  • 关于党建微网站建设经费的报告百度网址入口
  • wordpress参考文档现在百度怎么优化排名
  • 杭州余杭做网站公司企业网址怎么申请
  • 建设政府网站的流程推动高质量发展
  • 企业网站建设申请域名最近发生的热点新闻
  • 自己做简单网站seo报告
  • wordpress能否做网站电商运营培训班