打怪升级之进程与fork()函数

编程入门 行业动态 更新时间:2024-10-25 12:18:05

<a href=https://www.elefans.com/category/jswz/34/1758260.html style=打怪升级之进程与fork()函数"/>

打怪升级之进程与fork()函数

什么是进程?

从CPU的执行原理出发,CPU执行一项任务的流程为:取指(fetch)、译码(decode)、执行(excute)、更新。一般来说CPU还会有读取内存、写回内存、调用缓存、监控系统流水和中断系统流水等操作,但这些对理解原理没有那么重要。

最核心的CPU或者未来的某个什么东西,执行一段存储在某存储器中,由ISA指令集所描述的程序的时候,都是这个流程:取指、译码、执行、更新。

因此,进程的意思就很明显了,由于CPU是按指令顺序依序执行(流水线、并行计算暂时不讨论),进程的定义为:一个具有独立功能的程序关于某个数据集合的一次运行活动。

进程:CPU按程序计数器的顺序,读取程序内容与寄存内容按次序执行的过程。

(图片来源为:,这是一个CPU的鲜活案例)

fork()函数

fork系统调用用于创建一个新进程,称为子进程,它与进程(称为系统调用fork的进程)同时运行,此进程称为父进程。创建新的子进程后,两个进程将执行fork()系统调用之后的下一条指令。子进程使用相同的pc(程序计数器),相同的CPU寄存器,在父进程中使用的相同打开文件。
它不需要参数并返回一个整数值。下面是fork()返回的不同值。
负值:创建子进程失败。
零:返回到新创建的子进程。
正值:返回父进程或调用者。该值包含新创建的子进程的进程ID。

上述描述摘自:=aladdin

windows下的子进程实现

然而,很可惜的是,由于操作系统的历史原因,windows下没有能实现fork功能的函数(UNIX是多用户系统,WINDOWS是DOS系统)。

替代的方式可能有:CreateProcess()和CreateThread()这两种函数。

使用子进程的好处

甚至可以说是有些情况不使用子进程不行了。使用子进程的主要作用就是并行执行。同样的一串代码,可能要打开多个,相互之间的共同作用关系才能体现出来。子进程可以说是新开一个进程,任务可以转移到新的进程中去。比如网络的父进程用来接收消息,而子进程就复制在接收到消息之后展开消息,这样才不会只有一个线,一个进程。

更多推荐

打怪升级之进程与fork()函数

本文发布于:2024-03-09 07:39:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1724325.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:打怪   函数   进程   fork

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!