pid:2394 tid:2399
pid:2394 tid:2398
pid:2394 tid:2397
pid:2394 tid:2395
- this is using getpid() __NR_gettid*
pid:2529 tid:1811777280
pid:2529 tid:1820169984
pid:2529 tid:1828562688
pid:2529 tid:1836955392
pid:2529 tid:1845348096
- this is using pthread_self()*
我正在使用Fedora17 . 我想知道为什么getpid()和pthread_self()之间的tid结果有所不同?
哪一个是对的?我的教授 . 说pthread使用posix而不是linux系统 .
并且在多线程条件下pid是一样的吗?我的结果是否正确?
1 回答
gettid
返回线程ID,pthread_self
返回POSIX线程ID . 两者都不同 .这是默认行为 . 请参见
pthread_self()
的linux手册页 . 这三个条款将澄清它 .这也来自
gettid
手册页