C++ 同时运行两个无限循环函数的程序
时间: 2024-06-14 09:08:50 浏览: 19
当一个程序中同时运行两个无限循环函数时,使用多线程来实现。C++提供了多线程库`<thread>`来支持多线程编程。下面是一个示例程序:
```cpp
#include <iostream>
#include <thread>
// 第一个无限循环函数
void function1() {
while (true) {
std::cout << "Function 1" << std::endl;
// 添加适当的延时,避免过快输出
std::this_thread::sleep_for(std::chrono::seconds(1));
}
}
// 第二个无限循环函数
void function2() {
while (true) {
std::cout << "Function 2" << std::endl;
// 添加适当的延时,避免过快输出
std::this_thread::sleep_for(std::chrono::seconds(1));
}
}
int main() {
// 创建两个线程,分别运行两个无限循环函数
std::thread t1(function1);
std::thread t2(function2);
// 主线程等待两个子线程结束
t1.join();
t2.join();
return 0;
}
```
在上面的示例中,我们定义了两个无限循环函数`function1`和`function2`,然后在`main`函数中创建了两个线程`t1`和`t2`,分别运行这两个函数。主线程通过调用`join`函数等待两个子线程结束。
注意:在多线程编程中,需要注意线程间的同步和互斥,以避免竞态条件和其他并发问题。在上面的示例中,我们没有涉及到线程间的共享资源,因此不需要进行额外的同步操作。但是在实际开发中,可能需要使用互斥锁、条件变量等机制来保证线程间的正确交互。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)