原型
#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

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:1 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐