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

电子商务网站规划建设方案西北建设有限公司官方网站

电子商务网站规划建设方案,西北建设有限公司官方网站,wordpress导出工具栏,司法政务网站群建设✨个人主页#xff1a;bit me#x1f447; ✨当前专栏#xff1a;Java EE初阶#x1f447; ✨每日一语#xff1a;老当益壮#xff0c;宁移白首之心#xff1b;穷且益坚#xff0c;不坠青云之志。 目 录#x1f3f3;️一. 乐观锁 vs 悲观锁#x1f3f4;二. 普通的互斥… ✨个人主页bit me ✨当前专栏Java EE初阶 ✨每日一语老当益壮宁移白首之心穷且益坚不坠青云之志。 目 录️一. 乐观锁 vs 悲观锁二. 普通的互斥锁 vs 读写锁三. 重量级锁 vs 轻量级锁四. 自旋锁 vs 挂起等待锁️‍五. 公平锁 vs 非公平锁‍☠️六. 可重入锁 vs 不可重入锁锁策略加锁的时候咋加的 ️一. 乐观锁 vs 悲观锁 悲观锁总是假设最坏的情况每次去拿数据的时候都认为别人会修改所以每次在拿数据的时候都会上锁这样别人想拿这个数据就会阻塞直到它拿到锁。乐观锁假设数据一般情况下不会产生并发冲突所以在数据进行提交更新的时候才会正式对数据是否产生并发冲突进行检测如果发现并发冲突了则让返回用户错误的信息让用户决定如何去做。 Synchronized 就既是一个悲观锁也是一个乐观锁是一种自适应锁。当前锁冲突概率不大以乐观锁方式运行往往是纯用户态执行的一旦发现锁冲突概率大了以悲观锁的方式运行往往要进入内核对当前线程进行挂起等待。 二. 普通的互斥锁 vs 读写锁 多线程之间数据的读取方之间不会产生线程安全问题但数据的写入方互相之间以及和读者之间都需要进行互斥。如果两种场景下都用同一个锁就会产生极大的性能损耗。所以读写锁因此而产生。 Synchronized就属于普通的互斥锁两个加锁操作之间会发生竞争读写锁把加锁操作细化了加锁分成了 “加读锁” “加写锁”。 读写锁readers-writer lock看英文可以顾名思义在执行加锁操作时需要额外表明读写意图复数读者之间并不互斥而写者则要求与任何人互斥。 一个线程对于数据的访问, 主要存在两种操作: 读数据 和 写数据. 两个线程都只是读一个数据, 此时并没有线程安全问题. 直接并发的读取即可.两个线程都要写一个数据, 有线程安全问题.一个线程读另外一个线程写, 也有线程安全问题. 读写锁就是把读操作和写操作区分对待. Java 标准库提供了 ReentrantReadWriteLock 类, 实现了读写锁. ReentrantReadWriteLock.ReadLock 类表示一个读锁. 这个对象提供了 lock / unlock 方法进行加锁解锁.ReentrantReadWriteLock.WriteLock 类表示一个写锁. 这个对象也提供了 lock / unlock 方法进行加锁解锁. 其中, 读加锁和读加锁之间, 不互斥.写加锁和写加锁之间, 互斥.读加锁和写加锁之间, 互斥. 注意, 只要是涉及到 “互斥”, 就会产生线程的挂起等待. 一旦线程挂起, 再次被唤醒就不知道隔了多久了.   因此尽可能减少 “互斥” 的机会, 就是提高效率的重要途径 读写锁特别适合于 “频繁读, 不频繁写” 的场景中 三. 重量级锁 vs 轻量级锁 锁的核心特性 “原子性”, 这样的机制追根溯源是 CPU 这样的硬件设备提供的. CPU 提供了 “原子操作指令”.操作系统基于 CPU 的原子指令, 实现了 mutex 互斥锁.JVM 基于操作系统提供的互斥锁, 实现了 synchronized 和 ReentrantLock 等关键字和类. 重量级锁锁开销比较大做的工作比较多。 大量的内核态用户态切换很容易引发线程的调度 主要是依赖了 操作系统 提供的锁使用这种锁就容易产生阻塞等待。 轻量级锁锁开销比较小做的工作比较少。 少量的内核态用户态切换.不太容易引发线程调度 主要尽量避免使用 操作系统 提供的锁而是尽量在用户态来完成功能尽量避免 用户态 和 内核态 的切换尽量避免挂起等待。 synchronized 是自适应锁也是一个轻量级锁. 如果锁冲突比较严重, 就会变成重量级锁。 四. 自旋锁 vs 挂起等待锁 自旋锁是轻量级锁的具体实现挂起等待锁是重量级锁的具体实现 自旋锁是轻量级锁也是乐观锁 挂起等待锁是重量级锁也是悲观锁 按之前的方式线程在抢锁失败后进入阻塞状态放弃 CPU需要过很久才能再次被调度。但实际上, 大部分情况下虽然当前抢锁失败但过不了很久锁就会被释放。没必要就放弃 CPU. 这个时候就可以使用自旋锁来处理这样的问题。自旋锁发现锁冲突的时候不会挂起等待会迅速再来尝试看这个锁能不能获取到 自旋锁伪代码 while (抢锁(lock) 失败) {}自旋锁特点 一旦锁被释放就可以第一时间获取到如果锁一直不释放就会消耗大量的 CPU 挂起等待锁特点 一旦锁被释放不能第一时间获取到在锁被其他线程占用的时候会放弃 CPU 资源 synchronized 作为轻量级锁的时候内部是自旋锁作为重量级锁的时候内部是挂起等待锁。 ️‍五. 公平锁 vs 非公平锁 啥样的情况才算公平   认为符合 “先来后到” 这样的规则就是公平 公平锁遵守 “先来后到”. B 比 C 先来的. 当 A 释放锁的之后, B 就能先于 C 获取到锁. 非公平锁不遵守 “先来后到”. B 和 C 都有可能获取到锁. 注意 操作系统内部对于挂起等待锁就是非公平的(没有考虑先来后到)如果想要使用公平锁就要搞额外的数据结构来进行控制实现公平锁和非公平锁没有好坏之分, 关键还是看适用场景 synchronized 是非公平锁 ‍☠️六. 可重入锁 vs 不可重入锁 可重入锁的字面意思是“可以重新进入的锁”即允许同一个线程多次获取同一把锁。 Java里只要以Reentrant开头命名的锁都是可重入锁而且JDK提供的所有现成的Lock实现类包括 synchronized 关键字锁都是可重入的。 理解 “把自己锁死” private static void func(){//第一次加锁synchronized (Demo26.class){//第二次加锁synchronized (Demo26.class){//...}} }按照之前对于锁的设定第二次加锁的时候就会阻塞等待要等到第一次锁释放这里的第二次加锁才能成功但是第一次加锁释放不了得第二次加锁成功代码继续往下走才能走到第一次加锁的释放代码。 这就是个 “死锁”。第二个锁加锁成功依赖于第一个锁释放第一个锁释放又依赖第二个锁加锁成功。 为了避免上述情况就引入了 “可重入锁”一个线程可以对同一个锁反复加锁多次也没事 可重入锁在内部记录了这个锁是哪个线程获取到的如果发现当前加锁的线程和持有锁的线程是同一个则不挂起等待而是直接获取到锁。同时还会给锁内部加上个计数器记录当前是第几次加锁了通过计数器来控制啥时候释放锁。 synchronized 也是可重入锁
文章转载自:
http://www.morning.bsbcp.cn.gov.cn.bsbcp.cn
http://www.morning.nzklw.cn.gov.cn.nzklw.cn
http://www.morning.baohum.com.gov.cn.baohum.com
http://www.morning.ptmgq.cn.gov.cn.ptmgq.cn
http://www.morning.slnz.cn.gov.cn.slnz.cn
http://www.morning.cpmfp.cn.gov.cn.cpmfp.cn
http://www.morning.plqqn.cn.gov.cn.plqqn.cn
http://www.morning.rzczl.cn.gov.cn.rzczl.cn
http://www.morning.wgtr.cn.gov.cn.wgtr.cn
http://www.morning.touziyou.cn.gov.cn.touziyou.cn
http://www.morning.srjbs.cn.gov.cn.srjbs.cn
http://www.morning.gbfzy.cn.gov.cn.gbfzy.cn
http://www.morning.vtbtje.cn.gov.cn.vtbtje.cn
http://www.morning.lbfgq.cn.gov.cn.lbfgq.cn
http://www.morning.wmdbn.cn.gov.cn.wmdbn.cn
http://www.morning.mttqp.cn.gov.cn.mttqp.cn
http://www.morning.npbkx.cn.gov.cn.npbkx.cn
http://www.morning.gfhng.cn.gov.cn.gfhng.cn
http://www.morning.nqmwk.cn.gov.cn.nqmwk.cn
http://www.morning.dpflt.cn.gov.cn.dpflt.cn
http://www.morning.wwkft.cn.gov.cn.wwkft.cn
http://www.morning.rdtp.cn.gov.cn.rdtp.cn
http://www.morning.rgpsq.cn.gov.cn.rgpsq.cn
http://www.morning.rdfq.cn.gov.cn.rdfq.cn
http://www.morning.fppzc.cn.gov.cn.fppzc.cn
http://www.morning.drswd.cn.gov.cn.drswd.cn
http://www.morning.zwhtr.cn.gov.cn.zwhtr.cn
http://www.morning.xykst.cn.gov.cn.xykst.cn
http://www.morning.khpx.cn.gov.cn.khpx.cn
http://www.morning.hybmz.cn.gov.cn.hybmz.cn
http://www.morning.bxczt.cn.gov.cn.bxczt.cn
http://www.morning.ggtgl.cn.gov.cn.ggtgl.cn
http://www.morning.jltmb.cn.gov.cn.jltmb.cn
http://www.morning.hnpkr.cn.gov.cn.hnpkr.cn
http://www.morning.sdamsm.com.gov.cn.sdamsm.com
http://www.morning.bnylg.cn.gov.cn.bnylg.cn
http://www.morning.dwxqf.cn.gov.cn.dwxqf.cn
http://www.morning.sdktr.com.gov.cn.sdktr.com
http://www.morning.klzdy.cn.gov.cn.klzdy.cn
http://www.morning.psxfg.cn.gov.cn.psxfg.cn
http://www.morning.shprz.cn.gov.cn.shprz.cn
http://www.morning.txtzr.cn.gov.cn.txtzr.cn
http://www.morning.zsgbt.cn.gov.cn.zsgbt.cn
http://www.morning.krwzy.cn.gov.cn.krwzy.cn
http://www.morning.qdscb.cn.gov.cn.qdscb.cn
http://www.morning.shuangxizhongxin.cn.gov.cn.shuangxizhongxin.cn
http://www.morning.lhhdy.cn.gov.cn.lhhdy.cn
http://www.morning.yslfn.cn.gov.cn.yslfn.cn
http://www.morning.xctdn.cn.gov.cn.xctdn.cn
http://www.morning.rrms.cn.gov.cn.rrms.cn
http://www.morning.tgtrk.cn.gov.cn.tgtrk.cn
http://www.morning.jljwk.cn.gov.cn.jljwk.cn
http://www.morning.ybgyz.cn.gov.cn.ybgyz.cn
http://www.morning.qpqb.cn.gov.cn.qpqb.cn
http://www.morning.srndk.cn.gov.cn.srndk.cn
http://www.morning.qxmys.cn.gov.cn.qxmys.cn
http://www.morning.lzsxp.cn.gov.cn.lzsxp.cn
http://www.morning.rnwt.cn.gov.cn.rnwt.cn
http://www.morning.mcqhb.cn.gov.cn.mcqhb.cn
http://www.morning.wnjrf.cn.gov.cn.wnjrf.cn
http://www.morning.cgthq.cn.gov.cn.cgthq.cn
http://www.morning.rtkz.cn.gov.cn.rtkz.cn
http://www.morning.yhrfg.cn.gov.cn.yhrfg.cn
http://www.morning.jwmws.cn.gov.cn.jwmws.cn
http://www.morning.dygqq.cn.gov.cn.dygqq.cn
http://www.morning.rxnr.cn.gov.cn.rxnr.cn
http://www.morning.kybpj.cn.gov.cn.kybpj.cn
http://www.morning.cffwm.cn.gov.cn.cffwm.cn
http://www.morning.jwqqd.cn.gov.cn.jwqqd.cn
http://www.morning.fbmzm.cn.gov.cn.fbmzm.cn
http://www.morning.jiuyungps.com.gov.cn.jiuyungps.com
http://www.morning.kflpf.cn.gov.cn.kflpf.cn
http://www.morning.sfyqs.cn.gov.cn.sfyqs.cn
http://www.morning.yknsr.cn.gov.cn.yknsr.cn
http://www.morning.djwpd.cn.gov.cn.djwpd.cn
http://www.morning.nggry.cn.gov.cn.nggry.cn
http://www.morning.bfcxf.cn.gov.cn.bfcxf.cn
http://www.morning.qxmpp.cn.gov.cn.qxmpp.cn
http://www.morning.hcqd.cn.gov.cn.hcqd.cn
http://www.morning.ctlbf.cn.gov.cn.ctlbf.cn
http://www.tj-hxxt.cn/news/249358.html

相关文章:

  • wordpress资源海南快速seo排名优化
  • 老牌网站建网站自己做余额充值自动扣款
  • 深圳建设银行网站最简单的做网站工具
  • 外文网站搭建公司wordpress 截断插件
  • 南京企业网站设计wordpress转drupal
  • 沈阳网站建站公司买购网
  • php可以做网站吗网站建设任务书
  • 目前做汽配的网站有哪些建设工程查询系统
  • 做网站编辑好还是推广好68网页设计欣赏
  • 网站对联广告图片库尔勒网站建设推广
  • 钟表网站开发背景文章阿里云nas做网站
  • 做图模板网站公司起名字大全免费二字
  • 网站常用特效电影视频网站建设费用
  • 网站建设忄金手指花总网站积分系统方案
  • 桂林景区网站建设策划方案国内永久免费crm系统网站推荐大全
  • 广西网站建设培训wordpress与微信连接
  • 西安网站开发外包公司有上海网站开发有限公司
  • 做特色线路的旅游网站企业邮箱域名解析
  • 宁波做网站的大公司排名做域名不做网站可以吗
  • 北京网站制作设计价格官网网站设计
  • 网站怎么认证wordpress评论表情不显示不出来
  • 内江市建设信息网站wordpress文章页打不开
  • 石家庄网站建设价格公司网站制作苏州
  • 网站建设评审会阳泉软件定制网站建设
  • 墙蛙网站谁家做的网线制作实训总结
  • 深圳网站建设的公商标logo图案大全图片
  • 红色网站建设的作用和意义云南做网站
  • 建设银行官方网站客户资料修改网站建设的SOWT分析
  • 网站横条广告化妆品网站设计报告
  • 官方网站的必要性四川网站建设方案