给一个Linux开发多线程编程的实验代码
时间: 2024-09-29 07:05:50 浏览: 32
实验二、嵌入式Linux多线程编程实验
5星 · 资源好评率100%
在Linux环境下进行多线程编程,你可以使用C++语言和POSIX标准库,比如`pthread`库。以下是一个简单的多线程实验代码示例,它创建了两个线程并分别打印数字:
```c++
#include <stdio.h>
#include <pthread.h>
// 线程函数
void* print_numbers(void* arg) {
int thread_id = (int)arg;
for(int i = 0; i < 10; ++i) {
printf("Thread %d: %d\n", thread_id, i);
sleep(1); // 暂停一秒模拟工作过程
}
pthread_exit(NULL); // 线程结束前释放资源
}
int main() {
pthread_t thread1, thread2; // 创建线程变量
// 创建线程1
if(pthread_create(&thread1, NULL, print_numbers, (void*)1)) {
perror("Error creating thread 1");
return -1;
}
// 创建线程2
if(pthread_create(&thread2, NULL, print_numbers, (void*)2)) {
perror("Error creating thread 2");
return -1;
}
// 等待所有线程完成
pthread_join(thread1, NULL);
pthread_join(thread2, NULL);
printf("Main thread completed.\n");
return 0;
}
```
在这个例子中,`print_numbers`函数会被复制到新创建的每个线程中,并通过传入的参数区分是哪条线程。`pthread_create`用于创建线程,`pthread_join`用于等待线程完成。
阅读全文