只有互斥锁的所有者才能解锁。但是互斥锁如何区分锁定它的线程呢?在Linux中,线程有什么不同的特性吗?
发布于 2015-02-10 16:24:47
您可以查看实现源代码以获得详细信息( Git存储库中的pthread实现可以浏览这里),但是它们有不同的ID在内部使用。您可以使用pthread_self()在应用程序级别看到这一点。它返回一个pthread_t值,该值在给定进程中的每个线程基础上是唯一的。当您比较来自不同进程的pthread_t值时,无法保证唯一性。
然而,pthread_t对应的实际类型是实现定义的;它可以是算术(例如整型)类型,也可以是结构。因此,除了使用pthread_equal()比较它们是否相等之外,您实际上不能以可移植的方式对它们做很多事情。
发布于 2015-02-10 16:37:05
使用所述线程id对它们进行区分;
https://stackoverflow.com/questions/28436583
复制相似问题