三个线程,轮流打印10次各自的线程ID

#include "stdio.h"
#include "stdlib.h"
#include "pthread.h"

int testA();
int testB();
int testC();


int testA()
{
    int i ;
    pthread_t pidB;
    for(i = 0; i< 10; i++)
    {
        printf("this is pthreadA\n");
        pthread_create(&pidB, NULL, (void*)testB, NULL);
        pthread_join(pidB, NULL);
    }   
    return 0;
}
int testB()
{
    pthread_t pidC;
    printf("this is pthreadB\n");
    pthread_create(&pidC, NULL, (void*)testC, NULL);
    return 0;
}
int testC()
{
    printf("this is pthreadC\n");
    return 0;
}
int main()
{
    pthread_t pidA,pidB,pidC;
    int ret, i ;

    ret = pthread_create(&pidA, NULL, (void *)testA, NULL);
    if(ret != 0)
    {
        printf("create thread fail\n");
        return -1;
    }

    pthread_join(pidA, NULL);
    printf("this is main thread\n");

    return 0;
}

你可能感兴趣的:(linux)