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

网站建设经验会议讲话稿wordpress 文档

网站建设经验会议讲话稿,wordpress 文档,阜宁做网站工作室,工程建设有限公司经营范围Java多线程并发之读写锁本文主要内容#xff1a;读写锁的理论#xff1b;通过生活中例子来理解读写锁#xff1b;读写锁的代码演示#xff1b;读写锁总结。通过理论(总结)-例子-代码-然后再次总结#xff0c;这四个步骤来让大家对读写锁的深刻理解。本篇是《凯哥(凯哥Java…Java多线程并发之读写锁本文主要内容读写锁的理论通过生活中例子来理解读写锁读写锁的代码演示读写锁总结。通过理论(总结)-例子-代码-然后再次总结这四个步骤来让大家对读写锁的深刻理解。本篇是《凯哥(凯哥Java:kagejava)并发编程学习》系列之《Lock系列》教程的第七篇《Java并发包下锁学习第七篇读写锁》。一读写锁的理论什么是读写锁多个线程同时读一个资源类是没有任何问题的所以为了满足在并发的情况下读取共享资源应该是可以同时进行的但是如果一个线程想要去写共享资源就不应该再有其他线程可以对该共享资源进行读或者是写操作了。即读写锁在同一时刻可以允许多个多线程访问但是在写线程访问的时候所有的读线程和其他写线程都会被阻塞。读写锁实际维护了一对锁一个读锁一个写锁通过分离读锁和写锁使得其并发性比独占式锁(排他锁)有了很大的提升。为什么需要读写锁通过前面文章的学习我们知道了ReentrantLock(下文简称RLock)对象了。Rlock比起synchronized(下文简称Sync)来说有三个优点RLock可以被中断RLock可以有公平锁RLock可以绑定多个条件。那么既然RLock比Sync有这么多优点为什么还需要读写锁呢那是因为RLock是独占式(排他) 锁即当线程1获取到资源的时候其他线程不能再来操作共享资源了。就算是RLock的操作是读取的时候其他线程也不能读取共享资源的操作。这在现实生活中是不符合逻辑的(在下文神话中读写锁的例子中我们就能体会到为什么不符合逻辑的)而且性能也比较慢。所以就有了读写锁的出现。二读写锁的理解生活中读写锁的例子例子一我们大家去火车站乘车的时候有个大大的公示屏幕会告诉大家当前车次是否晚点。显示屏是给给所有乘客看的如果火车晚点对应车次后面就会被修改成晚点大约xxx分钟。这个修改的动作只能是火车站内部人员来操作的我们乘客是不能操作的。这个过程站在并发角度来分析的的话电子屏幕是共享数据千千万万的乘客是不同的线程火车站内部工作人员也是不同的线程乘客是读资源的线程当一个线程来读取的时候其他线程也可以读取操作的火车站内部工作人员修改火车信息的时候同时只能有一个工作人员来修改不能两个都来修改。如果两个都来修改的话上一秒显示晚点1min下一秒显示正常。这个是不行的乘客有可能会错过乘车的。所以修改的时候同时只能由一个工作人员来修改。例子二我们在玩王者荣耀的时候有时候会遇到停服更新的。在不更新前所有玩家都可以玩当停服更新的时候所有玩家就不能玩了。这个操作在并发角度来说千千万万的玩家是读共享资源的游戏维护者是写操作的。当停服更新的时候读操作就被阻塞了只能等写操作也就是更新完成后才可以接着玩。通过上面两个例子我们可以分析到读写锁的三个参与者共享资源;读对象;写对象。而且读和写一般是分离的。三读写锁的代码演示我们就用火车站进站案例来模拟未使用锁的时候先来看看屏幕对象再来看看多个工作人员更新操作及多个乘客获取操作查看运行结果从运行结果中我们可以发现当工号未13的还没有更新完车次信息的时候工号12和14的员工也来更新了。这种操作是不允许的。因为写操作要原子性要独占。当工作人员甲在修改的时候车次信息的时候其他工作人员不能同时修改同一个车次信息了。而且从乘客获取车次信息的数据来看获取到的只是工号是13的。这个时候获取到的数据不一定是正确的了。所以不使用锁是不行的。使用排他锁如果使用独占式做的话我们查看运行结果从运行结果来看再读取的时候需要一个一个读取的。当16号乘客查看的时候17号乘客是不能查看的。这个是不符合实际业务逻辑的。所以独占式(排他锁)RLock在这里不适合。我们再来看看读写锁使用读写锁先来看看使用读写锁的屏幕对象再来看看运行结果从运行结果中我们可以看到工作人员是一个一个的操作完成的。当14号操作完成之后13号和12号才可以操作的。这个符号我们正常的业务。乘客读取的时候读取到的都是最后一次更新这个也符合我们的业务。所以通过读写锁来操作车站屏幕是可以的。四读写锁总结4.1wrLock类对象同样包含了公平锁和非公平锁。其中ReadLock是读锁对象WriteLock是写锁对象。4.2使用语法读操作使用ReadLock编辑写操作的时候使用WriteLock对象4.3:总结读写锁(ReentrantReadWriteLock),凯哥就简写rwLock。也可以实现公平和非公平的。其内部维护了一对锁一个读锁(ReadLock对象)一个写锁(writeLock对象)通过读写分离的方式来提高并发性能。读写锁也叫共享锁。其共享是在读数据的时候可以让多个线程同时进行读操作的。在写的时候具有排他性其他读或者写操作都要被阻塞。一般情况下读写锁的性能都会比排他锁性能好那是因为大多数场景读操作多于写操作的。在读多与写的场景下读写锁能够提供比排他锁更好的并性能和吞吐量。​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​欢迎来聊~
http://wiki.neutronadmin.com/news/149312/

相关文章:

  • 网站建设运维方案好的网站建设公司
  • 网站开发及维护是什么网站logo设计免费版在线
  • 如何获取网站根目录链接济南网签查询系统
  • 秦皇岛做网站哪家好济南住宅与房地产信息网官方网站
  • 余姚做企业网站郑州东区做网站的公司
  • 网站备案 空间文案策划公司
  • 哈尔滨大型网站制作开发个人网站空间大小
  • 如何在vs做网站施工企业三金压降指的是哪三金
  • 舟山网站建设优化网站建设 九艾
  • 网站 域名安阳区号座机22开头哪的电话
  • 长春网站设计团队百度云群组
  • 做网站用什么开发好支付宝开放平台
  • 做网站要固定ipwordpress代码缓存
  • 网站开发 问题 关键技术wordpress模板不显示
  • 做网站百度新闻源游戏推广代理app
  • 北京中御建设公司网站网页装修设计
  • 深圳网站建设网站推广的方法专业seo网络营销公司
  • 秦皇岛建设局局官方网站西安软件开发培训机构
  • 如何建立一个手机网站网站备案要网站做才可以使用吗
  • 重庆市公司网站备案在哪了苏州seo排名公司
  • 建设通属于什么网站app制作商
  • 营销网站报备中英文微信网站建设
  • 网站建设专员工作职责宁波做网站建设推广
  • 长沙建一个网站多少钱上虞网站建设哪家好
  • 动态背景网站宁波超值关键词优化
  • 网站建设实训实训心得忻州 建网站
  • 应付网站软件服务怎么做分录成都网络推广公司
  • 做pc端网站资讯全屋整装家装
  • 门户网站的营销方式wordpress 重新生成缩略图
  • 自己的网站做防伪码做企业商城网站