程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
并发控制 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
部分退款被并发退超:把「已退 + 在途」扣在一条条件更新里
代码
部分退款被并发退超:把「已退 + 在途」扣在一条条件更新里
2026-10-26 09:02:23
客服退 100、补偿 worker 退全款,两边并发提交,本地 refunded_amount 最后变成 400。问题不在通道,而在额度是等 SUCCESS 回来才累加。本文给出一套顺序:先用条件更新占住「已退 + 在途」额度,再调退款接口,回执只做带状态门的结算;附占位/结算/释放三段 SQL、三个反模式,以及部分退款 50 次上限、1 分钟间隔、NOT_ENOUGH 不该记成已退这几个通道侧限制。
微信支付
退款
并发控制
条件更新
对账
支付对接
MySQL
乐观锁冲突率接近 0,脏写却仍在发生:一条没推进 version 的 UPDATE 让整套 CAS 静默失效
编程
乐观锁冲突率接近 0,脏写却仍在发生:一条没推进 version 的 UPDATE 让整套 CAS 静默失效
2026-10-26 00:05:11
乐观锁的完整性不取决于并发高低,而取决于每条写入路径是否都推进 version。运维手工 UPDATE、老服务、ORM 全量写回、批量脚本只要漏一条,版本号就停滞,下一个 CAS 会静默覆盖刚写入的数据。本文给出 MySQL BEFORE UPDATE 触发器强制推进的写法(OLD.version+1 vs NEW.version+1 的差别)、先用审计触发器诊断再强制的顺序,以及 PostgreSQL 抛异常版本与取舍。
乐观锁
MySQL
触发器
并发控制
CAS
version
行版本
同一条 UPDATE,Go 返回 0、Node 返回 1:MySQL 的 changed 与 matched 不是一回事
编程
同一条 UPDATE,Go 返回 0、Node 返回 1:MySQL 的 changed 与 matched 不是一回事
2026-10-26 00:03:57
乐观锁判定踩的坑多半不在 version 字段,而在 affected-rows 语义:MySQL 默认返回实际改动行数,带 CLIENT_FOUND_ROWS 才返回匹配行数。同一个 0 既可能是"没匹配到"也可能是"值没变"。本文对照 go-sql-driver、mysql2、JDBC 的默认值差异,给出 Go 侧判定、连接池拆分与抖动重试写法。
乐观锁
MySQL
并发控制
CAS
Go
RowsAffected
clientFoundRows
errgroup 里 ctx 被遮蔽:兄弟任务先失败,HTTP 调用却在 Wait 后静默被 context canceled
编程
errgroup 里 ctx 被遮蔽:兄弟任务先失败,HTTP 调用却在 Wait 后静默被 context canceled
2026-09-10 00:06:53
一次 errgroup 并发重构后少了一次上游 HTTP 调用的排查:WithContext 返回的新 ctx 遮蔽外层同名 ctx,兄弟任务出错触发取消,Wait 之后继续复用它发请求被 context canceled 静默吞掉。讲清取消语义、三种写法对照与不适用边界。
Goroutine并发
Go
errgroup
context
并发控制
OpenClaw 310k Star 全链路工程架构深度拆解:从 Gateway 控制平面到 Pi Loop 执行闭环
编程
OpenClaw 310k Star 全链路工程架构深度拆解:从 Gateway 控制平面到 Pi Loop 执行闭环
2026-08-11 13:56:35
深度拆解 OpenClaw 310k Star 全链路工程架构:从 Gateway 控制平面、SessionKey 并发模型、Pi Loop 执行闭环到生产部署实战,含完整代码示例与 15 条踩坑清单。
OpenClaw
AI Agent
架构设计
Gateway
SessionKey
Pi Loop
并发控制
本地优先
Node.js
WebSocket
Cursor Origin 深度实战:当代码托管平台从"为人设计"转向"为 AI Agent 设计"——Origin 架构、并发模型与 Agent 工作流全解(2026)
编程
Cursor Origin 深度实战:当代码托管平台从"为人设计"转向"为 AI Agent 设计"——Origin 架构、并发模型与 Agent 工作流全解(2026)
2026-07-22 09:45:41
深度解析 Cursor Origin:2026年全新发布的 AI 原生代码托管平台。涵盖数千 Agent 并发架构、CRDT 无冲突合并、语义智能合并、CI 自动修复、Review 智能处理、MCP 协议集成、代码血缘追踪与信任评分,配完整代码示例与实战配置指南。
Cursor
Origin
AI Agent
Git
MCP
代码托管
并发控制
CRDT
语义合并
CI自动化
代码血缘
软件工程
MySQL事务隔离级别终极指南:从脏读到幻读,一文彻底讲透!
编程
MySQL事务隔离级别终极指南:从脏读到幻读,一文彻底讲透!
2025-08-22 21:35:23
本文深入探讨了MySQL的事务隔离级别及其对并发数据访问的影响,详细解释了事务的ACID特性以及四种隔离级别(读未提交、读已提交、可重复读、串行化)。通过示例代码,展示了脏读、不可重复读和幻读等并发问题,并提供了选择合适隔离级别的建议,以平衡数据一致性与性能。
数据库
数据一致性
并发控制
性能优化
MySQL悲观锁:高并发场景下的数据守护者
编程
MySQL悲观锁:高并发场景下的数据守护者
2025-03-29 14:55:09
本文探讨了MySQL悲观锁在高并发场景下的数据一致性保障机制,介绍了悲观锁的核心思想、实现原理、锁类型、事务隔离及实际应用案例,如账户转账和库存扣减。分析了悲观锁的优缺点、性能优化建议及死锁处理方法,并与乐观锁进行了对比,旨在帮助开发者合理选择锁机制以提升系统的可靠性和性能。
数据库
并发控制
数据一致性
开发实践
性能优化
乐观锁和悲观锁,如何区分?
编程
乐观锁和悲观锁,如何区分?
2024-11-19 09:36:53
本文分析了悲观锁和乐观锁两种并发控制机制的原理、实现及适用场景。悲观锁假设数据访问会频繁冲突,操作前加锁,适用于高并发场景;乐观锁假设冲突较少,更新时检查数据版本,适合读多写少的场景。两者各有优缺点,选择时需考虑业务需求。
并发控制
数据库
多线程编程
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调