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

响应式网站建设看什么书给网站栏目页做反链好吗

响应式网站建设看什么书,给网站栏目页做反链好吗,名师工作室网站建设 意义,凡科女装ReadWriteLock包括两种子锁 (1)ReadWriteLock ReadWriteLock 可以实现多个读锁同时进行,但是读与写和写于写互斥,只能有一个写锁线程在进行。 (2)StampedLock StampedLock是Jdk在1.8提供的一种读写锁&a…

ReadWriteLock包括两种子锁

(1)ReadWriteLock

ReadWriteLock 可以实现多个读锁同时进行,但是读与写和写于写互斥,只能有一个写锁线程在进行。

(2)StampedLock

StampedLock是Jdk在1.8提供的一种读写锁,相比较ReentrantReadWriteLock性能更好,因为ReentrantReadWriteLock在读写之间是互斥的,使用的是一种悲观策略,在读线程特别多的情况下,会造成写线程处于饥饿状态,虽然可以在初始化的时候设置为true指定为公平,但是吞吐量又下去了,而StampedLock是提供了一种乐观策略,更好的实现读写分离,并且吞吐量不会下降。

StampedLock包括三种锁:

(1)写锁writeLock:

writeLock是一个独占锁写锁,当一个线程获得该锁后,其他请求读锁或者写锁的线程阻塞, 获取成功后,会返回一个stamp(凭据)变量来表示该锁的版本,在释放锁时调用unlockWrite方法传递stamp参数。提供了非阻塞式获取锁tryWriteLock。

(2)悲观读锁readLock:

readLock是一个共享读锁,在没有线程获取写锁情况下,多个线程可以获取该锁。如果有写锁获取,那么其他线程请求读锁会被阻塞。悲观读锁会认为其他线程可能要对自己操作的数据进行修改,所以需要先对数据进行加锁,这是在读少写多的情况下考虑的。请求该锁成功后会返回一个stamp值,在释放锁时调用unlockRead方法传递stamp参数。提供了非阻塞式获取锁方法tryWriteLock。

(3)乐观读锁tryOptimisticRead:

tryOptimisticRead相对比悲观读锁,在操作数据前并没有通过CAS设置锁的状态,如果没有线程获取写锁,则返回一个非0的stamp变量,获取该stamp后在操作数据前还需要调用validate方法来判断期间是否有线程获取了写锁,如果是返回值为0则有线程获取写锁,如果不是0则可以使用stamp变量的锁来操作数据。由于tryOptimisticRead并没有修改锁状态,所以不需要释放锁。这是读多写少的情况下考虑的,不涉及CAS操作,所以效率较高,在保证数据一致性上需要复制一份要操作的变量到方法栈中,并且在操作数据时可能其他写线程已经修改了数据,而我们操作的是方法栈里面的数据,也就是一个快照,所以最多返回的不是最新的数据,但是一致性得到了保证。

http://www.yayakq.cn/news/761884/

相关文章:

  • 网站优化公司多少钱怎么样做网站代理商
  • 大连网站排名公司电子商务网站建设与实践考试
  • 做网站项目的弊端什么是网络营销产品组合策略
  • 阿里云网站如何做淘宝客酒店网站制作公司
  • 网站维护入门教程wordpress更改网页标题
  • 做网站关于我们提高百度快速排名
  • wordpress网站攻击教务系统学生登录入口
  • 企业站seo点击软件无锡seo优化公司
  • 做网站要学习什么如何制作收费网页
  • 做网站小代码大全手机做任务的网站
  • 网站开发建设赚钱吗怎样推广小程序
  • 江苏建设银行网站wordpress安装主题出错
  • 带做网站微信采集wordpress
  • 深圳 网站公司推广普通话的内容
  • 傻瓜式建站软件资源网站优化排名网站
  • 最新远程网站建设服务器烟台市城市建设发展有限公司网站
  • 资讯cms网站有那些企业网站怎么推广
  • 专业的网站建设案例网站实现用户登录
  • 专做律所网站制作书签教案
  • 做手机网站用什么电脑网站生成手机网站
  • 购物网站用户管理冠县企业做网站推广
  • 哈尔滨网站制作方案皮肤自做头像的网站
  • 网站列表页模板当今网站开发技术的现状
  • 新乡专业做网站做网站视频手机
  • 做婚礼策划的网站网站优化怎么样做
  • 滁州市住房城乡建设部网站网站空间怎么使用
  • 沧州建网站html网页制作难吗
  • 一站式外贸服务平台做么网站有黄
  • 连云港建网站佛山网站建设锐艺传播
  • 网站收录工具深圳市信任网站