【发布时间】:2011-06-13 23:40:42
【问题描述】:
POSIX 的mutex 等同于Win32 的CRITICAL_SECTION——它的范围仅限于单个进程。 Win32 的互斥体(实际上在 NT 领域称为“突变体”)用作跨进程锁定机制。 pthreads 的跨进程锁等价物是什么?
【问题讨论】:
-
CRITICAL_SECTION更接近于pthread_spinlock_t,互斥量将是WaitForSingleObject/ReleaseMutex与pthread_mutex_t。 -
@Steve-o:这两者有什么区别?据我(尽管有限)理解,关键部分和互斥锁之间的唯一区别是一个在单个进程内,而另一个是跨进程。那么posix自旋锁和posix互斥锁有什么区别呢?
-
@Billy:这个答案可能会有所帮助,自旋锁忙等待,互斥锁产生stackoverflow.com/questions/195853/spinlock-versus-semaphore
-
@Steve-o:关键部分产量。
-
@Billy:您可以将其设置为不在多处理器系统上:msdn.microsoft.com/en-us/library/ms683476(v=vs.85).aspx