利用C++,编写简单的多进程或多线程程序可以运行成功
时间: 2024-09-24 19:05:02 浏览: 47
在C++中,你可以通过`std::thread`库来进行多线程编程,而`<process>`库或`<filesystem>`库则可用于创建和管理独立的进程。下面是一个简单的多线程示例:
```cpp
#include <iostream>
#include <thread>
// 定义一个函数作为线程的任务
void thread_function() {
std::cout << "这是线程任务,编号:" << std::this_thread::get_id() << std::endl;
}
int main() {
// 创建并启动两个新线程
std::thread t1(thread_function); // 线程1
std::thread t2(thread_function); // 线程2
// 主线程继续执行其他任务
std::cout << "主线程任务,编号:" << std::this_thread::get_id() << std::endl;
// 等待所有线程结束
t1.join();
t2.join();
return 0;
}
```
对于多进程,你可以使用`std::fork()`和`waitpid()`函数,例如:
```cpp
#include <iostream>
#include <unistd.h> // 包含 fork(), waitpid()
int main() {
pid_t child_pid = fork(); // 创建子进程
if (child_pid == 0) { // 子进程部分
std::cout << "我是子进程,PID: " << getpid() << std::endl;
} else { // 父进程部分
std::cout << "我是父进程,PID: " << getpid() << ", 子进程PID: " << child_pid << std::endl;
waitpid(child_pid, NULL, 0); // 等待子进程结束
std::cout << "子进程已退出" << std::endl;
}
return 0;
}
```
阅读全文