一、fork函数的作用
生成一个子进程,异步执行某个任务;
二、子进程的作用
1、子进程能复制一份父进程的变量、函数;
2、子进程可以和父进程同时并发执行;
函数语法:
pid_t fork()
说明:调用后返回一个进程的代号;
三、使用案例
fork函数需要unistd.h库函数。
#include<stdio.h>
#include<unistd.h>// 测试fork()函数的使用
// 适用于linux系统
int main(){
int i = 10;
// 创建子线程;
// 父进程和子进程拥有后面相同的代码,但是不共享数据值;
pid_t t = fork();
// 大于0,此时运行的是父进程
if(t > 0) {
i = i + 2;
printf("父进程执行:%d\n", i);
} else if(t == 0) {
// 等于0,此时运行的是子进程
i = i + 5;
printf("子进程执行:%d\n", i);
} else {
printf("子进程创建失败。");
}
return 0;
}
说明:
1、 pid_t 是int或者long long类型的别名;
2、fork()函数创建一个子进程,返回pid_t类型;
3、父进程和子进程的pid_t变量是不相同的;
4、父进程和子进程在fork()函数执行后,运行相同的代码,但是用返回的pid_t类型值来判断是父进程还是子进程;