以下是一个在 Linux 下使用 C 语言实现多线程的简单示例:
#include <stdio.h>
#include <pthread.h>
// 线程函数
void* thread_function(void* arg) {
int thread_id = *(int*)arg;
printf("线程 %d 正在运行
", thread_id);
return NULL;
}
int main() {
pthread_t threads[5];
int thread_ids[5] = {1, 2, 3, 4, 5};
for (int i = 0; i < 5; i++) {
if (pthread_create(&threads[i], NULL, thread_function, &thread_ids[i])!= 0) {
printf("创建线程 %d 失败
", i + 1);
return 1;
}
}
for (int i = 0; i < 5; i++) {
pthread_join(threads[i], NULL);
}
printf("所有线程已完成
");
return 0;
}
在这个例子中,创建了 5 个线程,每个线程执行相同的函数 thread_function
,只是传入的参数不同,用于标识线程的 ID。
多线程的优势包括:
多线程的类型主要有用户级线程和内核级线程。
应用场景举例:
如果在多线程编程中遇到问题,常见的原因可能有:
希望这个示例和解释对你有帮助!如果还有其他疑问,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云