簡體   English   中英

pthread_mutex_unlock如何區分線程?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM