c语言

c语言如何让两个函数并行执行

小亿
192
2024-05-21 18:03:31
栏目: 编程语言

在C语言中,可以使用多线程来实现两个函数的并行执行。在使用多线程之前,需要包含头文件<pthread.h>,并使用pthread_create()函数创建新的线程。以下是一个简单的示例代码:

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

void* func1(void* arg) {
    for (int i = 0; i < 5; i++) {
        printf("Function 1: %d\n", i);
    }
    return NULL;
}

void* func2(void* arg) {
    for (int i = 0; i < 5; i++) {
        printf("Function 2: %d\n", i);
    }
    return NULL;
}

int main() {
    pthread_t thread1, thread2;

    pthread_create(&thread1, NULL, func1, NULL);
    pthread_create(&thread2, NULL, func2, NULL);

    pthread_join(thread1, NULL);
    pthread_join(thread2, NULL);

    return 0;
}

在上面的代码中,我们定义了两个函数func1func2,分别用来执行不同的任务。在main函数中,我们使用pthread_create()函数创建了两个新线程,分别执行func1func2函数。最后,使用pthread_join()函数等待两个线程执行完毕。

需要注意的是,多线程的使用需要注意线程之间的同步和互斥,以避免出现竞争条件和死锁等问题。

0
看了该问题的人还看了