标签:并发控制

共 16 篇文章

MySQL InnoDB Undo Log回滚段与MVCC快照读的关联

MySQL InnoDB Undo Log回滚段与MVCC快照读的关联 要理解MySQL InnoDB如何实现高并发读写且互不阻塞,就必须弄清楚它的两个核心机制:MVCC 和 Un

# MySQL # InnoDB # UndoLog
2026-06-18 110 0

PostgreSQL MVCC多版本并发控制中快照隔离的实现原理

PostgreSQL MVCC多版本并发控制中快照隔离的实现原理 数据库并发操作时,最令人头疼的问题就是数据冲突:一个事务正在修改数据,另一个事务同时要读取它,读到的到底是修改前还

# PostgreSQL # MVCC # 快照隔离
2026-06-15 101 0

Python asynciogather和as_completed在并发控制上的行为差异

Python asyncio gather和ascompleted在并发控制上的行为差异 理解 gather 和 ascompleted 在控制并发任务时的核心区别,能帮你精确选择

# Pythonasyncio # gather # as_completed
2026-06-03 136 0

MySQL InnoDB的间隙锁在范围查询中如何阻塞幻读

MySQL InnoDB的间隙锁在范围查询中如何阻塞幻读 在并发的数据库事务中,“幻读”指一个事务在前后两次按相同条件查询时,第二次查询看到了第一次查询未返回的其他事务插入的新行,

# MySQL # InnoDB # 间隙锁
2026-06-03 137 0

Go语言的sync.Map与并发安全Map

Go语言的sync.Map与并发安全Map 在Go语言中,当多个Goroutine(可以理解为轻量级线程)需要同时读写同一个map时,会发生竞争条件,导致程序崩溃或数据错乱。本文将

# Go语言 # sync.Map # 并发安全
2026-06-02 160 0

SQLite的WAL模式与并发读写性能

SQLite的WAL模式与并发读写性能 SQLite默认采用回滚日志(Rollback Journal)模式,该模式在并发场景下,读写操作会相互阻塞,导致性能瓶颈。WAL(Writ

# SQLite # WAL模式 # 并发读写
2026-05-31 204 0

Go语言context.Context的传递链与取消机制

Go语言context.Context的传递链与取消机制 context.Context 是 Go 语言中用于在 goroutine 之间传递请求域元数据、控制超时与取消信号的标准

# Go语言 # context # 传递链
2026-05-29 170 0

Go语言select和switch的区别:为什么select只能用于channel

Go语言select和switch的区别:为什么select只能用于channel Go语言中,select 语句和 switch 语句在表面上看起来非常相似:它们都使用了 cas

# Go语言 # select # switch
2026-05-14 155 0

Go语言sync.WaitGroup的Add和Done不匹配导致死锁

Go语言sync.WaitGroup的Add和Done不匹配导致死锁 Go 语言中的 sync.WaitGroup 是用于等待一组 Goroutine 完成执行的同步原语。死锁通常

# Go语言 # 死锁 # 并发编程
2026-05-06 140 0

Go语言sync.Cond与channel在条件等待中的选择

Go语言sync.Cond与channel在条件等待中的选择 在Go语言的并发编程中,让一个Goroutine等待特定条件成立是常见需求。Go标准库提供了sync.Cond(条件变

# Go语言 # 并发编程 # sync.Cond
2026-04-30 164 0

MySQL MVCC多版本并发控制的实现原理

MySQL MVCC多版本并发控制的实现原理 MySQL 的 InnoDB 引擎通过 MVCC(MultiVersion Concurrency Control,多版本并发控制)实

# MySQL # MVCC # InnoDB
2026-04-26 238 0

Go语言Context.WithTimeout在级联调用中的取消传播

Go语言Context.WithTimeout在级联调用中的取消传播 Context.WithTimeout 是 Go 语言中控制并发操作生命周期的核心机制。在微服务或级联调用(A

# Go语言 # Context # 级联调用
2026-04-20 167 0

Python asyncio.Semaphore在限制并发请求数中的应用

Python asyncio.Semaphore在限制并发请求数中的应用 当使用 asyncio 处理大量网络请求(如爬虫或API调用)时,为了追求极致速度,往往会创建成千上万个并

# Python编程 # 异步编程 # 并发控制
2026-04-19 223 0

Go 等待组:sync.WaitGroup 与同步

Go 等待组:sync.WaitGroup 与同步 在 Go 语言中,并发是核心特性之一。你经常需要启动多个 goroutine(轻量级线程)来并行处理任务,但主程序不能提前退出—

# Go并发 # sync.WaitGroup # goroutine同步
2026-04-03 191 0

C++ 原子锁存器Atomic Flag实现自旋锁

C++ 原子锁存器Atomic Flag实现自旋锁 C++11 引入了 std::atomicflag,这是标准库中最轻量级的原子类型,专为实现无锁同步原语(如自旋锁)而设计。它只

# C++原子操作 # 自旋锁实现 # atomic_flag
2026-04-03 196 0

ST语言多线程环境下资源锁(Mutex)未释放导致的死锁预防

在 ST(Structured Text)语言编写的 PLC 程序中,当多个任务(Task)或多个循环执行的程序组织单元(POU)并发访问同一共享资源(如全局变量、硬件寄存器、通信

# ST语言 # PLC编程 # 死锁预防
2026-03-18 208 0