Python多进程之multiprocessing模块和进程池的实现 您所在的位置:网站首页 daemon作用 Python多进程之multiprocessing模块和进程池的实现

Python多进程之multiprocessing模块和进程池的实现

2023-02-28 17:58| 来源: 网络整理| 查看: 265

Python

多进程之

multiprocessing

模块和进程池的实现

1

、利⽤

multiprocessing

可以在主进程中创建⼦进程,提升效率,下⾯是

multiprocessing

创建进程的简单例⼦,和多线程的使⽤⾮常相似

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

'''

代码是由主进程⾥⾯的主线程从上到下执⾏的

,

我们在主线程⾥⾯⼜创建了两个⼦进程,⼦进

程⾥⾯也是⼦线程在⼲活,这个⼦进程在主进

程⾥⾯

'''

import

 

multiprocessing

import

 

time

 

def

 

f0(a1):

    time.sleep(3)

    print(a1)

if

 

__name__ ==

 

'__main__':#windows

下必须加这句

 

    t =

 

multiprocessing.Process(target=f0,args=(12,))

    t.daemon=True#

daemon

设置为

True

,则主线程不⽐等待⼦进程,主线程结束则所有结束

    t.start()

 

    t2 =

 

multiprocessing.Process(target=f0, args=(13,))

    t2.daemon =

 

True

    t2.start()

 

    print('end')#

默认情况下等待所有⼦进程结束,主进程才结束

  这⾥的结果是直接打印出

end

就结束了,因为添加了

t.daemon=True

join

⽅法在进程⾥⾯也可以⽤,跟线程的⽤法⾮常相似

2

、进程之间默认是不能共⽤内存的

1

2

3

4

5

6

7

8

9

10

11

12

13

li =

 

[]

 

def

 

f1(i):

    li.append(i)

    print('

你好

',li)

 

if

 

__name__ =='__main__':#

进程不能共⽤内存

    for

 

i in

 

range(10):

        p =

 

Process(target=f1,args=(i,))

        p.start()

 

'''

每个进程都创建⼀个列表,然后添加⼀个因素进去,

   

每个进程之间的数据是不能共享的

  结果如图



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有