中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
襄城县| 昌图县| 曲水县| 调兵山市| 安丘市| 莱西市| 股票| 遂川县| 琼结县| 敖汉旗| 沂源县| 察隅县| 滦平县| 锡林浩特市| 益阳市| 金阳县| 精河县| 汽车| 正定县| 福建省| 宁明县| 普格县| 定安县| 射洪县| 电白县| 娄底市| 望江县| 容城县| 台江县| 和龙市| 龙泉市| 九寨沟县| 扶沟县| 长岭县| 屏边| 永新县| 定安县| 四子王旗| 稻城县| 武川县| 瑞昌市|