编写一个c++简单的多进程或多线程程序
时间: 2024-09-23 19:09:32 浏览: 39
在C++中编写一个多进程或多线程程序,你可以选择使用`std::thread`库来创建线程,或`<process>`库(对于C++17及以上版本)来创建新进程。下面是一个简单的例子:
**多线程示例**(使用`std::thread`):
```cpp
#include <iostream>
#include <thread>
// 要在一个单独线程中执行的任务函数
void thread_function() {
std::cout << "This is a thread function running..." << std::endl;
}
int main() {
// 创建一个新的线程并运行thread_function
std::thread my_thread(thread_function);
// 主线程继续执行其他任务
std::cout << "Main thread is doing something else..." << std::endl;
// 等待新线程完成
my_thread.join();
return 0;
}
```
**多进程示例**(使用`std::process`):
```cpp
#include <iostream>
#include <filesystem>
#include <process>
int main() {
// 创建一个新进程,并传入命令行参数
std::string command = "ls"; // 指定执行的命令
auto process = std::execvp(command.c_str(), {command.c_str()}); // 执行命令
if (process == -1) {
std::cerr << "Failed to execute the process." << std::endl;
return 1;
}
// 主线程继续执行,子进程独立运行
std::cout << "Main thread continues..." << std::endl;
return 0;
}
```
注意,这两个例子都是简单演示,实际使用时要考虑错误处理和资源管理。
阅读全文