- 博客(6)
- 收藏
- 关注
原创 订单超卖问题
那么即使我们使用redission来实现分布式锁的话,锁导致大量清求等待占用系统资源的问题也是存在的,因为这里的瓶颈依然是在数据库访问速度。:对于redis集群,机器的增加不会提升系统支持的并发量,而仅仅是保证redis的稳定性,因为每次存储库存的key所在的槽的主节点都是集群中特定的某个单一redis节点,瓶颈依旧在单台redis上。事务开启后,select使用当前读,对id加锁,在之后的update操作,保证id=1001的商品库存不变。:数据库锁的性能较低,会导致系统的性能瓶颈卡在数据库上。
2024-12-31 17:11:51
732
原创 ABA问题
是在并发编程中常见的问题之一,尤其是在使用无锁编程(如 CAS 操作)时容易出现。它描述了一种逻辑错误,即一个变量的值在某些操作过程中被修改,然后又被修改回原来的值,但这一过程未被察觉,从而导致逻辑问题。问题是并发编程中的经典问题,特别是在无锁编程场景中。它的关键在于:变量的值虽然没有变化,但中间的状态被修改过。:在变量中引入版本号,每次修改变量时,版本号同时递增。比较时不仅检查变量的值,还需要检查版本号是否一致。是一种原子操),它通过比较和更新变量的值来实现线程安全,但它无法检测变量值是否被中间改动过。
2024-12-18 15:06:04
360
原创 leetcode-3216. 交换后字典序最小的字符串
如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5 和 9、2 和 4 奇偶性相同,而 6 和 9 奇偶性不同。给你一个仅由数字组成的字符串 s,在最多交换一次 相邻 且具有相同 奇偶性 的数字后,返回可以得到的字典序最小的字符串。
2024-10-30 09:49:27
523
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人