3 [多进程]-开启多进程的2种方式

1、multiprocessing模块

(1)介绍

python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu\_count\(\)查看),在python中大部分情况需要使用多进程。

Python提供了multiprocessing。 
multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似。
multiprocessing模块的功能众多:支持子进程、通信和共享数据、执行不同形式的同步,>提供了Process、Queue、Pipe、Lock等组件。

需要再次强调的一点是:与线程不同,进程没有任何共享状态,进程修改的数据,改动仅限于该进程内。

  

(2)代码实现

# 开启进程方式1:multiprocessing

import time
from multiprocessing import Process


def task(name):
    print('%s is running' % name)
    time.sleep(2)
    print('%s is done' % name)


if __name__ == '__main__':
    p = Process(target=task, args=('子进程1',))
    p.start()   # 仅仅给os发送了一个信号,我准备要开启一个进程

    print('主进程执行结束...')
开启进程

 

2

3

4

5

猜你喜欢

转载自www.cnblogs.com/venicid/p/8876758.html
今日推荐