大家好,我是林译川,今天我们来聊聊C++中那个神奇的函数——fork()。是不是觉得它有点复杂,其实,只要你掌握了核心概念和用法,它就像你的老朋友一样。
首先,fork()函数的作用是创建一个新进程(子进程),而原进程称为父进程。它的几个关键特性包括:
- 调用一次,返回两次:父进程返回子进程的PID,子进程返回0;
- 写时复制(Copy-On-Write, COW):父子进程共享内存页,直到某一方修改数据时才复制,提高效率;
- 执行流分离:父子进程从fork()的下一行代码开始并行执行。
基本用法与代码示例
下面是一个简单的示例,展示了如何在父子进程中区分输出:
#include
#include
#include
#include
int main() {
pid_t pid = fork();
if (pid == -1) {
std::cerr <<
