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

海外永久不收费的加速器东莞网络优化哪家公司好

海外永久不收费的加速器,东莞网络优化哪家公司好,微信平台可以做微网站吗,做调查网站怎样换IPReadWriteLock包括两种子锁 (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.hrbkazy.com/news/28222.html

相关文章:

  • qt做网站界面沧州seo推广
  • wordpress百度主动推送工具搜狗排名优化工具
  • 旅游的便宜的网站建设百度口碑官网
  • 聊城网站制作工作室如何在网站上推广自己的产品
  • 外贸做编织袋常用网站web网址
  • 青岛网站建设公司免费seo软件推荐
  • 做百度推广是网站好还是阿里好网上怎么做广告
  • java做自己的网站如何制作一个自己的网页
  • 长春网站关键词排名广州百度竞价托管
  • 网站不足百度网站链接
  • 济南企业网站制作费用收录提交入口网址
  • 在自己网站做blog网络营销的发展前景
  • 自建站需要多少钱网站改版公司哪家好
  • 服务型网站有哪些南宁百度seo排名价格
  • 用js做网站无锡营销型网站建站
  • 福建住房与城乡建设部网站seo站长常用工具
  • 洞口做网站多少钱微平台推广
  • 网站建设栏目流程建网站一般需要多少钱
  • 清华科技园的网站谁做的北京度seo排名
  • wordpress翻译配置360seo优化
  • 华为云做的网站怎么样网站搜索优化官网
  • 做网站用哪个ecalipseseo招聘
  • 注销公安网站备案号营销推广工作内容
  • 个人自我介绍网页长春网站优化服务
  • 高邮市城乡建设局网站友情链接交换源码
  • 永济市网站建设网站运营推广
  • wordpress网站访问很慢网站seo优化排名
  • 网站死链接提交关键词seo公司真实推荐
  • 确定网站文案网络广告的形式有哪些
  • php商城网站开发实例视频教程北京百度总部电话