Linux C线程处理

2013-09-19 11:49  2714人阅读  评论 (0)
Tags: Cthread

Linux C线程处理

#require <stdio.h>
#require <unistd.h>
#require <pthread.h>

void *thread(void *param) {
    // 获取参数
    unsigned int tid = *((int *)param);
    printf("thread %u start\n", tid);

    int i;
    for (i=0; i<10; i++) {
        printf("tid: %u, number: %d\n", tid, i);
        sleep(1);
    }

    // 退出线程
    printf("thread %u exit\n", tid);
    pthread_exit(NULL);
}

int main(void) {
    // 线程结构
    pthread_t pt1;
    // 线程函数的参数
    unsigned int tid1 = 1;
    // 创建线程
    int tmp1 = pthread_create(&pt1, NULL, thread, &tid1);
    // 检查错误
    if (tmp1 != 0) {
        printf("%d\n", tmp1);
        return 1;
    }

    pthread_t pt2;
    unsigned int tid2 = 1;
    int tmp2 = pthread_create(&pt2, NULL, thread, &tid2);
    if (tmp2 != 0) {
        printf("%d\n", tmp2);
        return 1;
    }

    sleep(20);
    return 0;
}





豫ICP备09035262号-1