MST
星途 面试题库

面试题:C语言中Linux线程创建的基础实现

在Linux环境下,使用C语言创建一个线程,线程函数需要接收一个整数参数并打印该参数值,最后在主线程中等待该线程结束,请写出完整代码。
40.0万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
#include <stdio.h>
#include <pthread.h>

// 线程函数
void *print_num(void *arg) {
    int num = *(int *)arg;
    printf("线程打印参数值: %d\n", num);
    pthread_exit(NULL);
}

int main() {
    pthread_t tid;
    int num = 42; // 传递给线程的参数

    // 创建线程
    if (pthread_create(&tid, NULL, print_num, &num) != 0) {
        printf("\n 无法创建线程\n");
        return 1;
    }

    // 等待线程结束
    if (pthread_join(tid, NULL) != 0) {
        printf("\n 无法等待线程\n");
        return 2;
    }

    printf("主线程等待线程结束\n");
    return 0;
}