溫馨提示×

c語言兩個for循環(huán)如何并列運行

小億
869
2023-11-24 23:50:11
欄目: 編程語言

在C語言中,可以使用多線程或多進(jìn)程來實現(xiàn)兩個for循環(huán)的并列運行。

使用多線程的方式如下:

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

void* threadFunc1(void* arg) {
    // 第一個for循環(huán)的代碼
    for (int i = 0; i < 10; i++) {
        printf("Thread1: %d\n", i);
    }
    return NULL;
}

void* threadFunc2(void* arg) {
    // 第二個for循環(huán)的代碼
    for (int i = 0; i < 10; i++) {
        printf("Thread2: %d\n", i);
    }
    return NULL;
}

int main() {
    pthread_t thread1, thread2;
    pthread_create(&thread1, NULL, threadFunc1, NULL);
    pthread_create(&thread2, NULL, threadFunc2, NULL);
    pthread_join(thread1, NULL);
    pthread_join(thread2, NULL);
    return 0;
}

使用多進(jìn)程的方式如下:

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main() {
    pid_t pid;
    pid = fork();
    if (pid == 0) {
        // 子進(jìn)程執(zhí)行的代碼,第一個for循環(huán)
        for (int i = 0; i < 10; i++) {
            printf("Child Process: %d\n", i);
        }
    } else if (pid > 0) {
        // 父進(jìn)程執(zhí)行的代碼,第二個for循環(huán)
        for (int i = 0; i < 10; i++) {
            printf("Parent Process: %d\n", i);
        }
    }
    return 0;
}

無論是使用多線程還是多進(jìn)程的方式,都可以實現(xiàn)兩個for循環(huán)的并列運行。

0