Linux 多线程
在Linux中实现多线程,可以使用POSIX线程库(pthreads)。以下是一个简单的例子,展示了如何创建两个线程,每个线程打印一条消息,然后退出。
#include <stdio.h>
#include <pthread.h>
void* thread_function(void* arg) {
printf("Hello, World! It's me, %lld!\n", (long long)arg);
return NULL;
}
int main() {
pthread_t thread1, thread2;
int ret1, ret2;
ret1 = pthread_create(&thread1, NULL, thread_function, (void*)1);
ret2 = pthread_create(&thread2, NULL, thread_function, (void*)2);
if (ret1 != 0) {
printf("Thread 1 creation failed.\n");
return 1;
}
if (ret2 != 0) {
printf("Thread 2 creation failed.\n");
return 1;
}
pthread_join(thread1, NULL);
pthread_join(thread2, NULL);
return 0;
}
在这个例子中,我们使用pthread_create
函数创建了两个线程。每个线程执行thread_function
函数,并传递一个数字作为参数。在主线程中,我们使用pthread_join
等待两个线程完成。
编译时需要链接到pthread
库,使用以下命令:
gcc -o multithreading multithreading.c -lpthread
运行程序后,你将看到两行包含线程ID和传递的参数的消息。
评论已关闭