fork()函数用来创建一个子进程。有些操作系统的fork采用了一种被称为写时拷贝的方法来提高性能。这种fork调用,产生子进程时,并不拷贝父进程的所有页面,而是置父进程所有页面的写时拷贝位,子进程共享父进程的所有页面,知道父进程或子进程写某个页面时,就会发生一个保护性错误,并拷贝该页面,这样不仅提高了核心的性能,而且改善了内存的利用. ////////////////////////////////////////////////////////////////////////////////////////////////////// #include<iostream> #include<unistd.h> #include<sys/types.h> using namespace std; int main() { for(int i=0;i<2;i++) { fork(); cout<<"hello";//6 } return 0; } ///////////////////////////////////////////////////////////////////////////////////////////////// #include<iostream> #include<unistd#include<sys/typs> sing namespace std; int main() { for(int i=0;i<2;i++) { fork(); cout<<"hello"<<endl;//8 } return 0; } 最终结果:6 8
时间: 2024-10-12 07:48:39