可以将Windows CRITICAL_SECTION对象配置为拒绝递归访问吗?

时间:2012-10-29 07:46:44

标签: winapi critical-section

默认情况下,CRITICAL_SECTION对象是递归的。是否可以将此行为配置为pthread互斥锁以启用或禁用递归线程访问?

澄清以回应评论:我指的是Windows CRITICAL_SECTION对象,而不是Windows互斥锁。

2 个答案:

答案 0 :(得分:6)

不,它不能。记录的API没有以任何方式提及这一点。 Windows关键部分始终接受递归访问。

答案 1 :(得分:4)

Critical Section始终允许在线程内进行递归。 Mutex也是如此。这是设计上的,不能改变。

另一方面,信号量可以防止线程内的递归。有关详细信息,请参阅MSDN documentation