Linux相当于windows的EnterCriticalSection

时间:2012-07-12 11:25:58

标签: c++ windows linux

我找不到明确的答案,所以这就是这个地方 Windows {EnterCriticalSection的行为方式我可以在同一个线程中多次锁定它,我需要在确切的次数上解锁它以便它可以获得免费。

什么是Linux等价物? pthread互斥是否以相同的方式起作用?或者它是多个锁,单个解锁......

4 个答案:

答案 0 :(得分:3)

使用boost :: recursive_mutex,您不必再考虑操作系统了

答案 1 :(得分:2)

您可以使用属性PTHREAD_MUTEX_RECURSIVE_NP在递归模式下使用pthread互斥锁。

本文描述了Linux等价物(参见“listing2。等效Linux代码”)

http://www.ibm.com/developerworks/linux/library/l-ipc2lin3/index.html

答案 2 :(得分:0)

为什么不使用ADONTEC的W2LPL库(http://adontec.com/windows-to-linux-port-library.htm),它几乎可以满足您的所有需求。

答案 3 :(得分:-1)

您可以使用互斥锁,请查看此http://en.wikipedia.org/wiki/Critical_section

请确保将其置于递归模式。

以下链接介绍了如何为pthreads执行此操作:http://www.ibm.com/developerworks/linux/library/l-ipc2lin3/index.html