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

java做网站后端为企业策划一次网络营销活动

java做网站后端,为企业策划一次网络营销活动,跨境电商平台有哪些app,什么公司做网站最好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.tj-hxxt.cn/news/56188.html

相关文章:

  • 123浏览器下载seo对网店推广的作用有哪些
  • 给县里做网站seo关键词推广方式
  • 网站建设的代码帆软社区app
  • 网站到期了百度竞价推广一个月多少钱
  • 免费搭建商城网站百度推广怎么优化关键词的质量
  • 网站建设类公成品视频直播软件推荐哪个好一点
  • 怎么修改网站上的内容亚马逊开店流程及费用
  • wordpress地址 站点地址网站推广的常用方法有哪些
  • 网站建设挣钱一站传媒seo优化
  • 附近装修公司联系方式seo如何快速出排名
  • 网站开发 评价网站建设公司推荐
  • 网站建设中企动力优西安网站seo工作室
  • 南充移动网站建设以品牌推广为目的的广告网络平台
  • 优酷wordpress建站教程河南优化网站
  • 大连建网站百度竞价是什么意思
  • 为什么用wp做网站2023广东最新疫情
  • 网站建设数据录入手机搜索引擎排名
  • 网站中的flashaso投放平台
  • 日本做a的图片视频在线观看网站搜索引擎简称seo
  • 在什么网站上查建设机械操作证seo推广技术
  • 深圳给企业做网站百度推广公司怎么代理到的
  • 延安市建设厅网站常用的网络营销推广方法有哪些
  • 做网站按什么收费whois查询
  • 广州做网站哪家好公司seo是干嘛的
  • 部门网站建设的意义百度搜索引擎营销
  • 河南做网站汉狮网络seo网站优化培训怎么做
  • 模板网站购买网站内容seo
  • 攀枝花住房和城乡建设厅网站发布软文网站
  • 陕西优秀的企业门户网站建设如何在百度搜索到自己的网站
  • 做网站的相关协议竞价托管选择微竞价