最新 最热

C++:thread | condition_variable|mutex

相信大家在Linux系统编程中都接触过线程创建和退出的相关系统调用,这些系统调用是Linux环境下的一套线程设计方案。但是这种设计方案仅限于Linux环境下使用,其缺点就是可移植性差。所以C++设计了thread库,该库可以适用于...

2024-10-10
4

Go源码解析之sync.Mutex锁

在解释Lock()和Unlock()源码之前我们必须先整体了解下Mutex的设计,不然下面的源码很难看懂。

2024-09-02
2

Linux线程互斥锁

今天我们学习Linux线程互斥的话题。Linux同步和互斥是Linux线程学习的延伸。但这部分挺有难度的,请大家做好准备。那我们就正式开始了。

2024-08-20
1

线程ID与互斥

给用户提供的线程ID不是内核中的lwp,而是自己维护的一个唯一值(pthread库),库内部也要承担对线程的管理。

2024-08-13
1

【线程同步】互斥量mutex

同步就是指同时起步,协调一致。不同的对象,对同步的理解方式也不尽相同。比如说,设备同步是指在两个设备之间规定一个共同的时间参考;数据库同步是指让两个或多个数据库内容保持一致,或者按照需要部分保持一致;文件同步是指...

2024-08-08
1

【Linux】详解加锁实现线程互斥

下面是一个抢标逻辑。抢票为什么会抢到负数:假设当票数为1时,此时四个进程的判断条件tickets都大于0,都会进入抢票操作,第一个进程抢完票以后tickets==0并写回内存,第二个进程再从内存中读取tickets的值时此时tickets已经...

2024-08-06
1

[译]Debugging a futex crash

[1] Debugging a futex crash: https://rustylife.github.io/2023/08/15/futex-crash.html

2024-07-30
2

dotnet 测试 Mutex 的 WaitOne 是否保持进入等待的顺序先进先出

本文记录我测试 dotnet 里面的 Mutex 锁,在多线程进入 WaitOne 等待时,进行释放锁时,获取锁执行权限的顺序是否与进入 WaitOne 等待的顺序相同。测试的结果是 Mutex 的 WaitOne 是乱序的,不应该依赖 Mutex 的 WaitOne 做...

2024-02-03
1

万字图解| 深入揭秘Golang锁结构:Mutex(下)

书接上回,在万字图解| 深入揭秘Golang锁结构:Mutex(上)一文中,我们已经研究了Golang mutex V1和V2版本的实现。接下来我们继续研究V3和V4版本的实现。

2024-01-25
1

万字图解| 深入揭秘Golang锁结构:Mutex(上)

Golang的Mutex算是在日常开发中最常见的组件了,并且关于锁的知识也是面试官最喜欢问的。   曾经在一次腾讯面试中,被面试官问得体无完肤。   虽然Golang Mutex只有短短的200多行,但是已经是一个极其丰富、精炼的组...

2024-01-25
1