多进程模块:multiprocessing

Posted pzk7788

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多进程模块:multiprocessing相关的知识,希望对你有一定的参考价值。

多进程:

(1) 前面我们学习的多线程,其实算不上真正的多线程,即使你开了很多个线程,在同一时间内只能有一个CPU核数来处理一个线程
(2) 在 python 中,多进程算得上是真正的多线程,假设你的CPU有四核,如果开四个子进程,四个CPU核数会同时处理这四个子进程
(3) 在 threading 中,我们是通过 threading.Thread(target=function, args=(....)) 来创建一个对象,然后再通过对象的 start() 方法来运行一个子线程,多个子线程可以并发执行
(4) 在 multiprocessing 中,我们是通过 multiprocessing.Process(target=function, args=(....)) 来创建一个对象,然后再通过对象的 start() 方法来运行一个子进程,多个子进程可以并发执行

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import os
import time
import multiprocessing

def fun():
    print hello world, os.getpid(), os.getppid()
    time.sleep(1)

for i in range(10):
    p = multiprocessing.Process(target=fun, args=())
    p.start()
[[email protected] ~]$ python 1.py 
hello world 4056 4055
hello world 4057 4055
hello world 4058 4055
hello world 4059 4055
hello world 4060 4055
hello world 4061 4055
hello world 4062 4055
hello world 4063 4055
hello world 4064 4055
hello world 4065 4055

 

 

 

 

 

      

以上是关于多进程模块:multiprocessing的主要内容,如果未能解决你的问题,请参考以下文章

python 3 编程之多进程 multiprocessing模块

多进程Multiprocessing模块

多进程multiprocessing模块

python 多进程multiprocessing 模块

Python并发复习3 - 多进程模块 multiprocessing

Python的多进程模块multiprocessing