亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 35458 | 回復(fù): 12
打印 上一主題 下一主題

[函數(shù)] linux多線程環(huán)境下gettid pthread_self 那個函數(shù)獲得線程ID [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2013-09-04 01:11 |只看該作者 |倒序?yàn)g覽


linux多線程環(huán)境下gettid() pthread_self() 兩個函數(shù)都獲得線程ID
linux使用進(jìn)程模擬線程,gettid 函數(shù)返回實(shí)際的進(jìn)程ID
pthread_self 函數(shù)返回 pthread_create創(chuàng)建線程時的ID,
我就有點(diǎn)迷惑,
到底那個是線程的ID呢,一個線程不能有兩個ID吧

我測試 pthread_self 函數(shù)返回的是一個地址,例如:
pid 967--tid 967--  pthread_self b7f5c6c0

請大家答疑解惑了

論壇徽章:
4
雙子座
日期:2014-08-28 10:08:002015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:58:112015年亞洲杯之阿聯(lián)酋
日期:2015-03-13 03:25:15
2 [報告]
發(fā)表于 2013-09-04 09:06 |只看該作者
gettid是內(nèi)核中的線程的ID, pthread_self是POSIX thread ID

評分

參與人數(shù) 1信譽(yù)積分 +5 收起 理由
wwwio + 5 贊一個!

查看全部評分

論壇徽章:
17
處女座
日期:2013-08-27 09:59:352015亞冠之柏太陽神
日期:2015-07-30 10:16:402015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-07-29 18:58:182015年亞洲杯之巴勒斯坦
日期:2015-03-06 17:38:17摩羯座
日期:2014-12-11 21:31:34戌狗
日期:2014-07-20 20:57:32子鼠
日期:2014-05-15 16:25:21亥豬
日期:2014-02-11 17:32:05丑牛
日期:2014-01-20 15:45:51丑牛
日期:2013-10-22 11:12:56雙子座
日期:2013-10-18 16:28:17白羊座
日期:2013-10-18 10:50:45
3 [報告]
發(fā)表于 2013-09-04 10:09 |只看該作者
weishuo1999 發(fā)表于 2013-09-04 09:06
gettid是內(nèi)核中的線程的ID, pthread_self是POSIX thread ID


2樓說的對,線程庫實(shí)際上由兩部分組成:內(nèi)核的線程支持+用戶態(tài)的庫支持(glibc),Linux在早期內(nèi)核不支持線程的時候glibc就在庫中(用戶態(tài))以纖程(就是用戶態(tài)線程)的方式支持多線程了,POSIX thread只要求了用戶編程的調(diào)用接口對內(nèi)核接口沒有要求。linux上的線程實(shí)現(xiàn)就是在內(nèi)核支持的基礎(chǔ)上以POSIX thread的方式對外封裝了接口,所以才會有兩個ID的問題。

論壇徽章:
0
4 [報告]
發(fā)表于 2013-09-04 10:39 |只看該作者
這就有個問題,我們知道一個進(jìn)程ID唯一的標(biāo)識一個進(jìn)程,
但是對一個線程有兩個ID,
以那個為準(zhǔn)呢?回復(fù) 3# myworkstation


   

論壇徽章:
17
處女座
日期:2013-08-27 09:59:352015亞冠之柏太陽神
日期:2015-07-30 10:16:402015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-07-29 18:58:182015年亞洲杯之巴勒斯坦
日期:2015-03-06 17:38:17摩羯座
日期:2014-12-11 21:31:34戌狗
日期:2014-07-20 20:57:32子鼠
日期:2014-05-15 16:25:21亥豬
日期:2014-02-11 17:32:05丑牛
日期:2014-01-20 15:45:51丑牛
日期:2013-10-22 11:12:56雙子座
日期:2013-10-18 16:28:17白羊座
日期:2013-10-18 10:50:45
5 [報告]
發(fā)表于 2013-09-04 11:33 |只看該作者
回復(fù) 4# tianhailong


    POSIX thread ID可以在一個進(jìn)程內(nèi)唯一標(biāo)識一個線程,但如果放到系統(tǒng)范圍內(nèi)的話就得用gettid了。

論壇徽章:
0
6 [報告]
發(fā)表于 2013-09-04 12:22 |只看該作者
使用gettid得到的是系統(tǒng)內(nèi)唯一的線程標(biāo)識,自然可以在一個進(jìn)程內(nèi)唯一標(biāo)識那么我們干嘛需要用 POSIX thread ID 呢回復(fù) 5# myworkstation

論壇徽章:
17
處女座
日期:2013-08-27 09:59:352015亞冠之柏太陽神
日期:2015-07-30 10:16:402015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-07-29 18:58:182015年亞洲杯之巴勒斯坦
日期:2015-03-06 17:38:17摩羯座
日期:2014-12-11 21:31:34戌狗
日期:2014-07-20 20:57:32子鼠
日期:2014-05-15 16:25:21亥豬
日期:2014-02-11 17:32:05丑牛
日期:2014-01-20 15:45:51丑牛
日期:2013-10-22 11:12:56雙子座
日期:2013-10-18 16:28:17白羊座
日期:2013-10-18 10:50:45
7 [報告]
發(fā)表于 2013-09-04 12:31 |只看該作者
回復(fù) 6# tianhailong


    gettid是不可移植的。如果你換到別的系統(tǒng)上如何來保證程序的可移植性呢?除非你的程序只在linux上跑。

論壇徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46處女座
日期:2013-10-24 14:25:01酉雞
日期:2014-04-07 11:54:15
8 [報告]
發(fā)表于 2013-09-04 12:38 |只看該作者
gettid返回的id相當(dāng)于進(jìn)程id, 可以gdb -p連接上去, 也可以top -H/ps -Lef看到線程狀態(tài).

論壇徽章:
0
9 [報告]
發(fā)表于 2013-09-04 12:41 |只看該作者
明白了,其實(shí) POSIX thread ID 是POSIX 標(biāo)準(zhǔn)的,所有遵循POSIX標(biāo)準(zhǔn)的系統(tǒng)都支持,
gettid是linux獨(dú)有的,
但是如果在linux環(huán)境下開發(fā), POSIX thread ID
就是多余的了吧,
那么 gettid 與 POSIX thread ID 有什么對應(yīng)關(guān)系嗎?
回復(fù) 7# myworkstation

論壇徽章:
17
處女座
日期:2013-08-27 09:59:352015亞冠之柏太陽神
日期:2015-07-30 10:16:402015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-07-29 18:58:182015年亞洲杯之巴勒斯坦
日期:2015-03-06 17:38:17摩羯座
日期:2014-12-11 21:31:34戌狗
日期:2014-07-20 20:57:32子鼠
日期:2014-05-15 16:25:21亥豬
日期:2014-02-11 17:32:05丑牛
日期:2014-01-20 15:45:51丑牛
日期:2013-10-22 11:12:56雙子座
日期:2013-10-18 16:28:17白羊座
日期:2013-10-18 10:50:45
10 [報告]
發(fā)表于 2013-09-04 13:25 |只看該作者
回復(fù) 9# tianhailong

由于在Linux下POSIX thread 和系統(tǒng)thread是一對一的模型,所以可以認(rèn)為一個gettid必然對應(yīng)一個pthread id,但沒有什么方法直接實(shí)現(xiàn)對兩者的對應(yīng)轉(zhuǎn)換。
   
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP