pthread_create

#include
#include
#include 
#include 
#include 

pthread_t ntid;

void printids(const char *s)
{
//    pid_t   pid;
//    pthread_t   tid;
    
//    pid = getpid();
    pthread_t tid = pthread_self();

//    printf("%s pid %lu tid %lu (0x%lx)\n", s, (unsigned long)pid, (unsigned long)tid, (unsigned long)tid);
    printf("%s pid tid %lu (0x%lx)\n", s,  (unsigned long)tid, (unsigned long)tid);
}

void* thr_fn(void *arg)
{
    printids("new thread:");
    return((void*)0);
}

int main()
{
    int err;
    
    err = pthread_create(&ntid, NULL, thr_fn, NULL);
    if(err!=0)
    {
        printf("can't create thread\n");
        exit(1);
    }
    printids("main thread:");
    sleep(2);
    exit(0);
}

编译运行命令
gcc test.c -o test
./test

你可能感兴趣的:(pthread_create)