溫馨提示×

C語言多線程并行如何實現

小樊
115
2024-07-12 20:19:27
欄目: 編程語言

在C語言中實現多線程并行可以使用pthread庫。pthread庫是POSIX標準中線程操作的庫,提供了創建、管理和同步線程的函數。

下面是一個簡單的示例代碼,演示了如何在C語言中使用pthread庫實現多線程并行:

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

#define NUM_THREADS 5

void *printHello(void *threadID) {
    long tid;
    tid = (long)threadID;
    printf("Hello World! It's me, thread #%ld\n", tid);
    pthread_exit(NULL);
}

int main() {
    pthread_t threads[NUM_THREADS];
    int rc;
    long t;

    for (t = 0; t < NUM_THREADS; t++) {
        printf("In main: creating thread %ld\n", t);
        rc = pthread_create(&threads[t], NULL, printHello, (void*)t);
        if (rc) {
            printf("ERROR; return code from pthread_create() is %d\n", rc);
            return -1;
        }
    }

    pthread_exit(NULL);
}

在這個示例中,通過調用pthread_create函數創建了5個線程,并且每個線程執行printHello函數來輸出當前線程的編號。最后在主線程中調用pthread_exit函數來等待所有線程執行完畢后再退出。

需要注意的是,在編譯時需要鏈接pthread庫,可以使用以下命令編譯這個示例程序:

gcc -o program program.c -pthread

通過這種方式,就可以在C語言中實現多線程并行。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女