读书人

Linux多线程学习(4)pthread_self

发布时间: 2012-09-20 09:36:50 作者: rapoo

Linux多线程学习(四)pthread_self
原型:

#include <pthread.h>
pthread_t pthread_self(void);


说明:
获取本进程自身的 ID。进程 ID 类型是 pthread_t ,这个类型一般为long long 型,8个字节。

测试代码:
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

void *thread_one ()
{ printf ("thread_one pid is %lld\n", getpid());
printf ("thread_one tid is %lld\n", pthread_self());
}

void *thread_two()
{ printf ("thread_two pid is %lld\n", getpid());
printf ("thread_two tid is %lld\n", pthread_self());
}

int main (int argc, char **argv)
{
pid_t pid;
pthread_t tid_one, tid_two;

if ((pid = fork()) == -1) {
perror ("fork");
exit (EXIT_FAILURE);
} else if (pid == 0) {
pthread_create (&tid_one, NULL, (void *)thread_one, NULL);
pthread_join (tid_one, NULL);
} else {
pthread_create (&tid_two, NULL, (void *)thread_two, NULL);
pthread_join (tid_two, NULL);
}

wait (NULL); return 0;
}
编译 gcc -o pthread_self -lpthread pthread_self.c运行结果:thread_one pid is 17480
thread_one tid is -1208779872
thread_two pid is 17479
thread_two tid is -1208779872

读书人网 >UNIXLINUX

热点推荐