fork()是linux, ios,android无论是框架理解还是编程,逃不出的基础概念之一
那么,究竟什么是fork()呢?
我觉得抓住两点就可以了:
一是复制: 复制什么?代码逻辑复制,一个进程调用fork()系统调用后,操作系统会克隆出另一个进程,而两个进程从执行的代码逻辑而言是一模一样的.即多利羊说fork(),系统接受命令后,生产出另一只从细胞上来看和多利一毛一样的羊.他们从长相到细胞分析都一样.比亲兄弟还亲.新出生的羊我们叫他毛利.
二是在系统的眼里,他们是两个个体,并不一样.操作系统看待进程,一是用进程链表记录他们,进程链表是一个动态数据结构,这个大家都知道.于是多利和毛利其实就是两个进程而已,只是他们还有一个关联就是多利是毛利的father process,这一点在进程链表里会有所体现,毛利的父进程指针指向多利.
ok,讲清楚了.如果需要看一些编程实验数据,可以看文章<<linux中fork()函数详解(原创!!实例讲解)>>.