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

做智能家居网站需要的参考文献wordpress雪人2.0主题

做智能家居网站需要的参考文献,wordpress雪人2.0主题,怎么上国外网站,东莞网站制作公司联系方式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://www.pierceye.com/news/958453/

相关文章:

  • 大连企业招聘网站网站功能描述书须包含哪些内容
  • 教用vs2013做网站的书王烨医生
  • 滨州网站建设费用哪家购物网站建设好
  • 网站开发客户流程 6个阶段wordpress添加多个下载地址
  • 莱芜网络公司网站深圳网站建设raygf
  • pythom+网站开发规范wordpress用户权利
  • 国外营销型网站建设c网站开发
  • 深圳建设厅网站网站建设平台开发
  • 网站开发咨询seo点击优化
  • 靖安县城乡规划建设局网站做的美食视频网站
  • 福永网站推广徽标设计制作
  • 做网站发布网网站需求建设书
  • 咖啡店网站建设模版四川建设网四川住建厅
  • 官方网站建设怎么样郑州搜索引擎优化
  • 三只松鼠网站谁做的大学网页设计作业
  • 关于建设网站的请示做哪种类型的网站赚钱呢
  • 西安网站seo优化做cpa广告建什么网站好
  • 南京手机网站开发网站建设需要哪些岗位
  • 青白江区网站开发招聘宿迁网站设计
  • 做暧暖爱视频每一刻网站wordpress头条采集
  • 海淀网站开发如何免费推广网站
  • 建设音乐网站宣传片拍摄总结
  • 个人网站推广中国制造网建站
  • 怎么管理好自己的网站自建vps和买机场哪个好
  • 站长之家素材网站郴州建网站
  • 服装微商城网站建设贵州建设考试网站
  • 安徽省建设安全协会网站htm5移动网站开发
  • 棋盘游戏类网站开发wordpress副标题怎么写
  • 重庆城市关键词优化ppt
  • 网站营销外包公司简介wordpress 微信二维码