Multithreading 递归(可重入)互斥如何工作?
我在上读了两篇关于递归(可重入)互斥体的文章,但这两篇文章都没有任何意义 有人能解释一下递归(可重入)互斥是如何工作的吗 (我发现很少有资料解释递归互斥是如何工作的。如果有人有好的解释,我将结束这个问题。)Multithreading 递归(可重入)互斥如何工作?,multithreading,thread-safety,mutex,recursive-mutex,Multithreading,Thread Safety,Mutex,Recursive Mutex,我在上读了两篇关于递归(可重入)互斥体的文章,但这两篇文章都没有任何意义 有人能解释一下递归(可重入)互斥是如何工作的吗 (我发现很少有资料解释递归互斥是如何工作的。如果有人有好的解释,我将结束这个问题。) 谢谢 一种简单的方法是将标准互斥体与以下辅助信息配对: 指向拥有互斥锁的线程的指针(如果未获取,则为NULL),以及 一个计数器,最初为0 然后,您可以通过以下方式获取互斥: 如果您是当前互斥锁的所有者,请增加计数器并立即返回 如果不是,则获取互斥并将计数器设置为0 换句话说,如果您
谢谢 一种简单的方法是将标准互斥体与以下辅助信息配对:
- 指向拥有互斥锁的线程的指针(如果未获取,则为
),以及NULL
- 一个计数器,最初为0
- 如果您是当前互斥锁的所有者,请增加计数器并立即返回
- 如果不是,则获取互斥并将计数器设置为0
- 如果计数器非零,则减小计数器并立即返回
- 否则,释放互斥锁
希望这有帮助 一种简单的方法是将标准互斥体与以下辅助信息配对:
- 指向拥有互斥锁的线程的指针(如果未获取,则为
),以及NULL
- 一个计数器,最初为0
- 如果您是当前互斥锁的所有者,请增加计数器并立即返回
- 如果不是,则获取互斥并将计数器设置为0
- 如果计数器非零,则减小计数器并立即返回
- 否则,释放互斥锁