gpt4 book ai didi

linux - OpenMutex 和 pthread

转载 作者:太空宇宙 更新时间:2023-11-04 11:06:11 25 4
gpt4 key购买 nike

我注意到,在 pthread 库下,没有与 Win32 下的 OpenMutex() 或带有信号量的 semget() 等价的函数。

为什么?

这是否意味着在任何情况下我都必须使用 pthread_create()

最佳答案

在 Win32 中创建或访问具有字符串名称的内核对象(互斥量、事件、信号量)通常仅用于跨进程同步。

在 Win32 中,为了在同一进程内同步,合适的模式是创建一次 Win32 对象,然后只与需要访问它的不同线程共享它的 HANDLE。但是,如果您的锁不需要超出同一进程的线程,则使用 CRITICAL_SECTION 通常更有效。对象。

由 pthreads 创建的同步对象只能在同一进程内共享。因此,如果您在 pthreads 中创建互斥量 - 它只是为了与同一进程中的其他线程共享。

如果您需要在 Unix 中创建跨进程锁,您将不得不使用另一种适当的机制(即 semget 和 friend )。

关于linux - OpenMutex 和 pthread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25183543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com