亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c語言怎么實現多線程

小億
98
2023-11-15 23:33:36
欄目: 編程語言

在C語言中實現多線程可以使用POSIX線程庫(pthread)或Windows線程庫等。下面是一個使用POSIX線程庫實現多線程的示例:

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

// 線程函數,傳入一個整數參數
void* thread_func(void* arg) {
    int n = *(int*)arg;
    printf("Hello from thread %d\n", n);
    pthread_exit(NULL);
}

int main() {
    int num_threads = 5;
    pthread_t threads[num_threads];
    int thread_args[num_threads];

    // 創建多個線程
    for (int i = 0; i < num_threads; i++) {
        thread_args[i] = i;
        pthread_create(&threads[i], NULL, thread_func, &thread_args[i]);
    }

    // 等待每個線程結束
    for (int i = 0; i < num_threads; i++) {
        pthread_join(threads[i], NULL);
    }

    printf("All threads are done.\n");
    return 0;
}

在這個示例中,thread_func是一個線程函數,用來打印線程的標識號。main函數中首先創建了多個線程,每個線程都傳入一個整數參數,然后等待每個線程執行完畢。最后輸出所有線程結束的提示信息。

要編譯上述代碼,可以使用以下命令:

gcc -o multithreading multithreading.c -lpthread

這將生成一個可執行文件multithreading,運行它將會看到多個線程按順序打印出它們的標識號,最后輸出所有線程結束的提示信息。

請注意,在使用多線程時要注意線程間的同步和互斥問題,以避免競爭條件和數據訪問沖突等問題。

0
贵阳市| 塘沽区| 社旗县| 南召县| 衢州市| 厦门市| 桃园市| 桂东县| 泾川县| 鄂托克旗| 淅川县| 张掖市| 祁阳县| 乌什县| 石狮市| 五华县| 乳源| 南投市| 密云县| 肇源县| 团风县| 临武县| 东乌珠穆沁旗| 兰州市| 梅河口市| 安国市| 苍南县| 北安市| 镇巴县| 新乡市| 淳安县| 工布江达县| 潞城市| 始兴县| 西和县| 长葛市| 武乡县| 章丘市| 深水埗区| 凤阳县| 湖南省|