查询到最新的6条

出现线程死锁缺陷一般有那些原因?该怎么解决?

目录 前言什么是线程死锁线程死锁的原因如何解决线程死锁1 加锁顺序2 避免嵌套锁3 使用超时机制4 死锁检测和恢复 总结 前言 在多线程编程中,线程死锁是一种常见的问题。当多个线程相互等待对方所持有的资源时,会导致线程陷入无法继续执行的状态。本文将介绍线程死锁的原因,并提供一些解决方法,以帮助开发人员避免和解决线程死锁的缺陷。 什么是线程死锁 线程死锁指的是多个线程因为相互等待对方所持有的资源而无法继续执行的 继续阅读

【Redis】缓存一致性

文章目录缓存一致性读缓存**双检加锁**策略写缓存保障最终数据一致性解决方案先更新数据库,再更新缓存案例演示1->更新缓存异常案例演示2->并发导致先更新缓存,再更新数据库案例演示->并发导致先删除缓存,再更新数据库案例演示->并发导致解决策略->延时双删先更新数据库,再删除缓存(推荐~~)案例演示1->更新缓存异常解决策略->消息队列重试写Redis缓存如何选方案Redis与MySQL数据双写一 继续阅读

Java ThreadLocal的详细解释

一、ThreadLocal简介 多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性。ThreadLocal是除了加锁这种同步方式之外的一种保证一种规避多线程访问出现线程不安全的方法,当我们在创建一个变量后,如果每个线程对其进行访问的时候访问的都是线程自己的变量这样就不会存在线程不安全问题。 ThreadLocal是JDK包提供的,它提供 继续阅读

关于Synchronized的小结

目录 一.特性 1.既是乐观锁又是悲观锁 2.是轻量级锁,也是重量级锁   3.不是读写锁,是互斥锁 4.是可重入锁 5.非公平锁 6.加锁之后,运行完毕自动解锁释放资源  二:Synchronized使用 第一种:定义一个额外的变量来控制加锁和解锁(类似于吉祥物) 第一种:直接给类/方法上锁 三.synchronized的优化 运行机制上的优化  编译阶段进行的优化手段 锁消除 程序员代码上进行优化 锁粗化 一.特性 1.既是乐观锁又是悲观锁 继续阅读

集齐149集YSBLF,完满了!

这两个月我过得很神奇。这两个月,新冠疫情在广东肆虐得挺严重,尤其是在广州、东莞以及深圳,我们的生活就只有打疫苗、测核酸和隔离这三件事。我是今年5月才知道原来有西班牙语的字幕组在做YSBLF的翻译,而且已经做了好几年了。不过他们视频源的质量跟20年前没有本质区别。2021-05-13我知道了NBC正在播YSBLF,同步在网络上放出。那时解锁了116集,也就是最后放出的是126集(在最新的没有出全之前,默认最后10集加锁,只供会员观看)。昨天,2021-06-29,他们把最后一集也解锁了 继续阅读

mysql的锁和事务

mysql的锁 读写锁: 读锁是共享锁,多个用户在同一时刻可以读取同一资源,相互不受干扰写锁是排他锁,写锁会阻塞其他的写锁和读锁,这样可以确保在指定的时间内,只有一个用户可以写入 锁的颗粒度: 想要提高并发性,就需要尽可能的只锁住需要修改的资源,而不是所有资源同时加锁也需要消耗资源,锁的各种操作都会增加系统的开销,影响系统的性能所以锁的策略就 继续阅读