LINUX编写一个程序,至少创建2个线程,两个线程都循环执行,一个线程每隔1秒输出我是线程1,另一个线程每隔1秒输出我是线程2
时间: 2024-09-25 20:18:07 浏览: 38
在Linux环境下,你可以使用POSIX线程库(pthread)来创建并管理线程。下面是一个简单的C语言示例,它会创建两个线程,每个线程分别循环执行每秒打印一条消息:
```c
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>
#define THREAD_1_MSG "我是线程1"
#define THREAD_2_MSG "我是线程2"
void *thread_func1(void *arg) {
while (1) {
printf("%s\n", THREAD_1_MSG);
sleep(1); // 每隔1秒休眠
}
return NULL;
}
void *thread_func2(void *arg) {
while (1) {
printf("%s\n", THREAD_2_MSG);
sleep(1); // 每隔1秒休眠
}
return NULL;
}
int main() {
pthread_t thread1, thread2; // 创建两个线程的标识符
// 创建第一个线程
if (pthread_create(&thread1, NULL, thread_func1, NULL)) {
perror("创建线程1失败");
exit(EXIT_FAILURE);
}
// 创建第二个线程
if (pthread_create(&thread2, NULL, thread_func2, NULL)) {
perror("创建线程2失败");
exit(EXIT_FAILURE);
}
// 等待所有线程完成
pthread_join(thread1, NULL);
pthread_join(thread2, NULL);
printf("主线程结束\n");
return 0;
}
```
这个程序首先定义了两个线程函数`thread_func1`和`thread_func2`,它们分别在无限循环中打印指定的消息。然后在`main`函数中通过`pthread_create`创建这两个线程,并使用`pthread_join`等待它们完成。
运行此程序,你会看到两个线程交替输出各自的消息。
阅读全文