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

网站变灰 兼容贵阳网站建设q479185700惠

网站变灰 兼容,贵阳网站建设q479185700惠,旅游企业公司网站建设,wordpress如何修改页头锁 1、分类 乐观锁:在select的时候不会加锁#xff0c;是基于程序实现的#xff0c;所以不会存在死锁的情况。适用于读多写少的场景#xff08;写的并发量相对不高#xff09;#xff0c;可以提高系统的吞吐量。因为如果写多的话#xff0c;乐观锁会有很大机率更新失败…锁 1、分类 乐观锁:在select的时候不会加锁是基于程序实现的所以不会存在死锁的情况。适用于读多写少的场景写的并发量相对不高可以提高系统的吞吐量。因为如果写多的话乐观锁会有很大机率更新失败需要不断的自旋执行查找和更新操作。自旋的时候会一直占用CPU会耗费大量的CPU资源。悲观锁:在select的时候就会加锁采用先加锁后处理的模式虽然保证了数据处理的安全性但也会阻塞其他线程的写操作。悲观锁适用于写多读少的场景因为拿不到锁的线程会将线程挂起交出CPU资源可以把CPU给其他线程使用提高了CPU的利用率。锁分类:悲观锁具有强烈的独占和排他特性在整个数据处理过程中将数据处于锁定状态。适合于写比较多会阻塞读操作。乐观锁采取了更加宽松的加锁机制大多是基于数据版本 Version 及时间戳来实现。。适合于读比较多不会阻塞读独占锁:互斥锁、排他锁保证在任一时刻只能被一个线程独占排他持有。synchronized、ReentrantLock 共享锁:可同时被多个线程共享持有。CountDownLatch到计数器、Semaphore信号量 可重入锁:又名递归锁。同一个线程在外层方法获取锁的时候在进入内层方法时会自动获取锁。 不可重入锁:公平锁: 有优先级的锁先来先得谁先申请锁就先获取到锁 非公平锁: 无优先级的锁后来者也有机会先获取到锁自旋锁: 当线程尝试获取锁失败时锁已经被其它线程占用了无限循环重试尝试获取锁 阻塞锁: 当线程尝试获取锁失败时线程进入阻塞状态直到接收信号后被唤醒。在竞争激烈情况下性能较高读锁: 共享锁 写锁: 独占排他锁偏向锁:一直被一个线程所访问那么该线程会自动获取锁 轻量级锁:CAS当锁是偏向锁的时候被另一个线程所访问偏向锁就会升级为轻量级锁其他线程会通过自旋的形式尝试获取锁不会阻塞提高性能。 重量级锁当锁为轻量级锁的时候另一个线程虽然是自旋但自旋不会一直持续下去当自旋一定次数的时候10次还没有获取到锁就会进入阻塞该锁膨胀为重量级锁。重量级锁会让他申请的线程进入阻塞性能降低。 以上其实是synchronized的锁升级过程表级锁: 对整张表加锁加锁快开销小不会出现死锁但并发度低会增加锁冲突的概率 行级锁: 是mysql粒度最小的锁只针对操作行可大大减少锁冲突概率并发度高但加锁慢开销大会出现死锁2、具体锁实现 1、jvm ReentrantLock悲观的独占的可重入的可公平可不公平锁synchronized悲观的独占的可重入的非公平锁无锁 -- 偏向锁同一个线程再次获取锁 -- 轻量级锁自旋 -- 重量级锁2、mysql select ... for update悲观的独占的 select ... lock in share mode​ 3、jvmReentrantLock synchronized 1.单个jvm实例 单机2.必须单例3.与事务并存问题总之不适合于保证数据库数据可靠性​ 4、mysql 1.直接更新时判断。在更新中判断库存是否大于0 update table set surplus (surplus - buyQuantity) where id 1 and (surplus - buyQuantity) 0 ;解决jvm锁多例模式锁失效问题 及 事务共存问题锁范围控制条件字段必须创建索引查询条件必须具体的值同一个商品有多个库存时无法解决。无法记录库存变化前后的状态2.悲观锁select ... for update库存操作要统一不能有的操作是select ... for update 而有的操作是普通的select死锁风险多条记录时加锁顺序要一致阻塞及性能问题3.乐观锁version 或者 时间戳CAS思想ABA问题失败需要重试高并发情况下性能不高读写分离情况下导致乐观锁不可靠5、zookeeper 客户端ZooKeeper原生客户端、ZkClient、Curator前两个客户端参照https://blog.csdn.net/qq_42349306/article/details/118209298 读操作和设置监听事件之间是有原子性的阻塞公平锁1.接收到请求时在/locks节点下创建一个临时序列化节点2.判断自己是不是/locks节点下最下的节点是则获取到锁不是则监听前一个节点3.获取到锁处理完业务逻辑后通过delete删除当前节点释放锁。监听当前节点的下一个节点收到通知重复第二步。Curator分布式锁源码解读https://blog.csdn.net/qq_41432730/article/details/123389670
http://www.sadfv.cn/news/134689/

相关文章:

  • 石家庄模板建站网站建设课程设计格式
  • 自己做网站设计制作163企业邮箱申请
  • 成品网站源码1688自动跳转注册wordpress账号
  • 外国设计网站做哪类视频网站需要视频牌照
  • 网站建设中网页代码物流公司排名
  • 如何使用华为云虚拟主机建设网站常见网站建设
  • 徐州网站开发设计平台如何制作手机网页
  • 微商城微网站开发宿州做网站的公司
  • 洛阳seo网站修改wordpress首页缩略图尺寸
  • 网站设计文字大小网站为什么做微云的采集
  • 个人备案 做网站一流的网站建设流程
  • 苏州新区高端网站制作做网站需要的图片去哪找
  • 电子商务网站建设与管理第二版答案邯郸网站建设公司排名
  • 西安网站建设公司 云阔黑龙江建设网ca数字证书如何注销
  • 手机网站版面设计网站规划与建设论文
  • 松原网站推广新网$网站优化
  • 正规网站建设首选公司新余建设网站
  • 网站开发哪家专业简述常用的网络营销方法
  • 网站建设站点无法发布如何做学校网站app
  • 阿里指数官方网站app运营费用预算
  • php网站好处厦门网站建设建网站
  • 南宁网站开发价格免费网站如何被百度收录
  • 山西建站推广wordpress 本机模拟
  • 上海建设局官方网站深圳建设工程交易服务中心网站
  • 锟鹏建设招聘网站大型外贸网站策划
  • 医院招聘网站建设和维护wordpress导出数据库结构
  • 网站版心怎么做网站开发劳动合同范本
  • 济南网站建设网络公司策划推广公司
  • 微信小程序开发价格苏州seo网站推广公司
  • 二手车网站开发多少钱朝阳免费网站制作