Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

linux多线程编程

作者:寂寞味道   发布日期:2025-07-10   浏览:56

#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

// 线程函数
void* print_hello(void* thread_id) {
    long tid;
    tid = (long)thread_id;
    printf("Hello World! It's me, thread #%ld!\n", tid);
    pthread_exit(NULL);
}

int main() {
    pthread_t threads[5];
    int rc;
    int i;

    // 创建多个线程
    for (i = 0; i < 5; i++) {
        printf("In main: creating thread %d\n", i);
        rc = pthread_create(&threads[i], NULL, print_hello, (void*)i);
        if (rc) {
            printf("ERROR; return code from pthread_create() is %d\n", rc);
            exit(-1);
        }
    }

    // 等待所有线程完成
    for (i = 0; i < 5; i++) {
        pthread_join(threads[i], NULL);
    }

    printf("All threads completed.\n");
    pthread_exit(NULL);
}

解释说明

  1. 包含头文件

    • #include <pthread.h>:用于多线程编程。
    • #include <stdio.h>#include <stdlib.h>:用于标准输入输出和内存管理。
    • #include <unistd.h>:用于一些系统调用。
  2. 定义线程函数

    • void* print_hello(void* thread_id):这是每个线程执行的函数,它接收一个参数(线程ID),并打印一条消息。
  3. 主函数

    • 创建了一个包含5个线程的数组 pthread_t threads[5]
    • 使用 pthread_create 函数创建线程,并传递线程ID作为参数。
    • 使用 pthread_join 函数等待所有线程完成。
    • 最后,使用 pthread_exit 终止主线程。
  4. 错误处理

    • 如果 pthread_create 返回非零值,则表示创建线程失败,程序会打印错误信息并退出。

这段代码展示了如何在Linux环境下使用POSIX线程库(pthread)创建和管理多个线程。

上一篇:linux who

下一篇:linux tar压缩文件夹

大家都在看

linux 发送邮件

linux长ping命令

linux关机命令行

linux重启oracle命令

linux搭建sftp

linux 重启网络命令

linux 追踪路由

查看linux版本信息

linux配置静态路由,并永久生效

linux查看后台

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站