/******************************************************************************************** ** Name:pthread_id.c ** Used to study the multithread programming in Linux OS. ** Showing how to get the thread's tid and the process's pid. ** Author:zeickey ** Date:2006/9/16 ** Copyright (c) 2006,All Rights Reserved! *********************************************************************************************/ #include <stdio.h> #include <pthread.h> #include <unistd.h> /*getpid()*/
void *create(void *arg) { printf("New thread .... /n"); printf("This thread's id is %u /n", (unsigned int)pthread_self()); printf("The process pid is %d /n",getpid()); return (void *)0; }
int main(int argc,char *argv[]) { pthread_t tid; int error;
printf("Main thread is starting ... /n");
error = pthread_create(&tid, NULL, create, NULL);
if(error) { printf("thread is not created ... /n"); return -1; } printf("The main process's pid is %d /n",getpid()); sleep(1); return 0; }
编译方法:
gcc -Wall -lpthread pthread_id.c
执行结果:
Main thread is starting ... The main process's pid is 3307 New thread .... This thread's id is 3086347152 The process pid is 3307