[关闭]
@Scrazy 2016-02-15T08:37:13.000000Z 字数 519 阅读 960

多进程


python学习笔记


Linux和Unix系统提供了fork()函数,这个函数可以调用一次,返回两次,自动复制一份(子进程)。子进程永远返回0,子进程可以通过getppid()拿到父进程的ID。

Python的OS模块封装了常见的系统调用,Python可以通过fork()轻松创建子进程。

  1. #/home/mouse python3
  2. #-*- coding: utf-8 -*-
  3. #倒入os模块
  4. import os
  5. #当前进程
  6. print('Process (%s) start...' % os.getpid())
  7. #获得父进程
  8. pid = os.fork()
  9. if pid == 0:
  10. print('I am child process (%s) and my partent is %s.'
  11. % (os.getpid(), os.getppid()))
  12. else:
  13. print("I (%s) just created a child process (%s)."
  14. % (os.getpid(), pid))

没有理解为什么if语句和else语句都被执行了[^footnote] mark

multiprocessing

Windows没有fork调用,故可以使用multiprocessing模块进行跨平台编程

参考来源

廖雪峰的官方网站

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注