在Linux中,可以使用pthread庫來創建多線程。下面是一個簡單的例子:
#include <stdio.h>
#include <pthread.h>
// 線程函數
void *thread_func(void *arg) {
int thread_num = *((int*)arg);
printf("Hello from thread %d\n", thread_num);
pthread_exit(NULL);
}
int main() {
pthread_t thread1, thread2; // 兩個線程
int thread1_num = 1;
int thread2_num = 2;
// 創建線程1
pthread_create(&thread1, NULL, thread_func, (void*)&thread1_num);
// 創建線程2
pthread_create(&thread2, NULL, thread_func, (void*)&thread2_num);
// 等待線程1結束
pthread_join(thread1, NULL);
// 等待線程2結束
pthread_join(thread2, NULL);
return 0;
}
在這個例子中,我們創建了兩個線程,每個線程都會調用thread_func
函數。pthread_create
函數用于創建線程,它接受四個參數:線程的標識符、線程的屬性、線程函數、傳遞給線程函數的參數。pthread_join
函數用于等待線程結束。
編譯并運行這個程序后,你應該可以看到類似以下的輸出:
Hello from thread 1
Hello from thread 2