在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語言中實現多線程并行。