美文网首页
os.fork()生成子进程的思路。

os.fork()生成子进程的思路。

作者: 北游_ | 来源:发表于2018-05-16 00:37 被阅读61次

因在循环中有 os.fork() 生成子进程,导致一系列疑问

代码:

import os

def main():
    for i in range(0,4):
        os.fork()
        print('Hello fork')

if __name__ == '__main__':
    main() 
  • 当循环 2 次时,会 print 6 次 'Hello fork' 2 => 2+4
  • 当循环 3 次时,会 print 14 次 'Hello fork' 3 => 2+4+8
  • 当循环 4 次时,会 print 30 次 'Hello fork' 4 => 2+4+8+16
  • ……是有规律的

2次循环思路解析

当第一次循环 i=0 时,然后主进程 fork 生成一个子进程p1, 并且 print 一次。主循环 print 一次。

当第二次循环 i=1 时,然后主进程 fork 生成一个子进程p2, 并且 print 一次。子进程p1 fork 生成一个子进程,并且 print 一次。子进程 p1 会循环一次, 主循环会 print 一次。一共6次

fork4次循环流程.png

相关文章

  • os.fork()生成子进程的思路。

    因在循环中有 os.fork() 生成子进程,导致一系列疑问 代码: 当循环 2 次时,会 print 6 次 ...

  • multiprocess-Process-Pool-Queue-

    Table of Contents 1. .os.fork() 子进程接受返回值 0,父进程接受返回值是子...

  • 进程中的getpid和getppid方法

    importos pid=os.fork() ifpid==0: print("老王") print("我是子进程...

  • 系统编程---进程

    ·程序执行到os.fork()时,操作系统会创建一个新的进程(子进程),然后复制父进程的所有信息到子进程中 ·然后...

  • 多进程笔记:

    ### 在Python中多进程的创建方式对比: 1. 在Python中,可以通过`os.fork()`创建子进程,...

  • os.fork() 创建子进程

    查看代码 执行程序

  • PHP异步: 利用pcntl扩展实现PHP异步处理

    思路:利用pcntl生成一个子进程处理异步任务,处理完后杀掉子进程。依赖:该功能依赖于php pcntl扩展,使用...

  • 多任务

    并发:看上去一起执行。(任务数>核数) 并行:实际上一起执行。 一:创建子进程:os.fork() 。 用判断语句...

  • 115-fork子进程解析

    当使用fork编写多进程的程序时,应该想清楚父子进程的工作各是什么。比如,让父进程生成子进程,子进程做具体的工作。...

  • Mr.Li--python-系统编程-进程

    进程: 多任务 概念,操作系统同时运行多个任务 fork(创建进程) 导入os模块 程序运行到os.fork时,系...

网友评论

      本文标题:os.fork()生成子进程的思路。

      本文链接:https://www.haomeiwen.com/subject/cdeudftx.html