Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 要让python实现多进程,需要了解操作系统相关知识。
- # Unix/Linux操作系统提供了一个fork()系统调用。
- # 和普通函数调用不同,fork()函数调用一次,返回两次,因为操作系统自动把当前进程(父进程)复制了一份(子进程),然后,分别在父进程和子进程内返回。
- # 子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,以个父进程可以fork出很多子进程,
- # 所以,父进程要记下每个进程的ID,而子进程只需要调用getppid()就可以拿到父进程的ID。
- import os
- print('Process (%s) start...'% os.getpid())
- # only works on Unix/Linux/Mac
- pid = os.fork()
- if pid == 0:
- print('I am child process (%s) and my parent is %s' % (os.getpid(),os.getppid()))
- else:
- print('I (%s) just created a child process (%s).'% (os.getpid(),pid))
- # 运行结果如下
- '''
- Process (876) start...
- I (876) just created a child process (877).
- I am child process (877) and my parent is 876.
- '''
- # windows没有fork调用
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement