分布式锁


文档摘要

6.2 分布式锁 在单机程序并发或并行修改全局变量时,需要对修改行为加锁以创造临界区。为什么需要加锁呢?我们看看在不加锁的情况下并发计数会发生什么情况: 多次运行会得到不同的结果: 6.2.1 进程内加锁 想要得到正确的结果的话,要把对计数器(counter)的操作代码部分加上锁: 这样就可以稳定地得到计算结果了: 6.2.2 trylock 在某些场景,我们只是希望一个任务有单一的执行者。而不像计数器场景一样,所有 goroutine 都执行成功。后来的 goroutine 在抢锁失败后,需要放弃其流程。这时候就需要 trylock 了。 trylock 顾名思义,尝试加锁,加锁成功执行后续流程,如果加锁失败的话也不会阻塞,而会直接返回加锁的结果。


发布者: 作者: 转发
评论区 (0)
U