[英]How pthread_mutex_unlock distinguish threads?
只有互斥鎖的所有者才能解鎖它。 但是互斥鎖如何區分鎖定它的線程? 線程在Linux中是否具有任何獨特的功能?
您可以查看實現源代碼以獲取詳細信息(可以在此處瀏覽GNU libc
Git存儲庫的pthread
實現),但是它們具有內部使用的不同ID。 您可以使用pthread_self()
在應用程序級別看到它。 它返回一個pthread_t
值,該值在給定進程中基於每個線程是唯一的。 比較不同進程的pthread_t
值時,不能保證唯一性。
但是, pthread_t
對應的實際類型是實現定義的; 它可以是算術(例如整數)類型,也可以是結構。 因此,除了使用pthread_equal()
比較它們的相等性以外,您實際上不能以可移植的方式對其進行過多處理。
它們使用線程ID進行區分;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.