gpt4 book ai didi

c++ - pthread_mutex_unlock如何区分线程?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:52:01 25 4
gpt4 key购买 nike

只有 mutex 的所有者才能解锁它。但是mutex怎么区分线程是加锁的呢?线程在 Linux 中有什么与众不同的特点吗?

最佳答案

详情可以查看实现源码(可以浏览GNU libc Git仓库中的pthread实现here),但它们的ID不同内部使用的。您可以使用 pthread_self() 在应用程序级别看到这一点。它返回一个 pthread_t 值,该值在给定进程中的每个线程的基础上是唯一的。当您比较来自不同进程的 pthread_t 值时,无法保证唯一性。

然而,pthread_t 对应的实际类型是实现定义的;它可以是算术(例如整数)类型,也可以是结构。因此,除了使用 pthread_equal() 比较它们是否相等之外,您不能以可移植的方式对它们做太多事情。

关于c++ - pthread_mutex_unlock如何区分线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28436583/

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