Python--day37--多进程

摘要:
1.创建多进程(父进程和子进程)1 importos2 importTime3#多进程必须从多重处理importProcess56deffunc(args,args2):7打印(args、args2)8时间导入多重处理4。sleep(1)9print('子进程:',os.getpid())10print('父进程的子进程:‘,os.get-pi
1,创建多进程(父进程和子进程)
 1 import os
 2 import time
 3 #多进程都要导入multiprocessing
 4 from multiprocessing import Process
 5 
 6 def func(args, args2):
 7     print(args, args2)
 8     time.sleep(1)
 9     print('子进程:', os.getpid())
10     print('子进程的父进程:', os.getpid())
11     print(12345)
12 
13 if __name__ == '__main__':
14     #args是一个元组,传一个参数的时候要在后面加逗号,如args=(54321,)
15     p = Process(target = func, args=('参数','参数2'))    #注册
16     #p是一个进程对象,还没有启动进程
17     p.start()   #开启了一个子进程
18     print('*'*10)
19     print('父进程:', os.getpid())  #查看当前进程的进程号
20     print('父进程的父进程:', os.getppid())  #查看当前进程的父进程的进程号

运行结果:

Python--day37--多进程第1张

2、进程的生命周期:

Python--day37--多进程第2张

3,多个进程同时开始:
 1 import time
 2 from multiprocessing import Process
 3 
 4 def func(arg1,arg2):
 5     print('*'*arg1)
 6     time.sleep(5)
 7     print('*'*arg2)
 8 
 9 if __name__ == '__main__':
10     p = Process(target=func,args=(10,20))
11     p.start()
12     p1 = Process(target=func, args=(10, 20))
13     p1.start()
14     p2 = Process(target=func, args=(10, 20))
15     p2.start()
16     p3 = Process(target=func, args=(10, 20))
17     p3.start()

运行结果:

Python--day37--多进程第3张

 4,开启多进程的第二种方法:

  #自定义类 继承Precess类
  #必须事项一个run方法,run方法中是在子进程中执行的代码

  例1:

 1 import os
 2 from multiprocessing import Process
 3 
 4 class MyProcess(Process):
 5     def run(self):
 6         print(os.getpid())
 7 
 8 if __name__ == '__main__':
 9     print('主 :', os.getpid())
10     p1 = MyProcess()
11     p1.start()
12     p2 = MyProcess()
13     p2.start()
14 
15 #自定义类 继承Precess类
16 #必须事项一个run方法,run方法中是在子进程中执行的代码

   例2:

 1 import os
 2 from multiprocessing import Process
 3 
 4 class MyProcess(Process):
 5     def __init__(self,arg1,arg2):
 6         super().__init__()
 7         self.arg1 = arg1
 8         self.arg2 = arg2
 9 
10     def run(self):
11         print(self.pid)
12         print(self.name)
13         print(self.arg1)
14         print(self.arg2)
15 
16 
17 if __name__ == '__main__':
18     # print('主 :', os.getpid())
19     #实例化:类名跟括号
20     p1 = MyProcess(1,2)
21     p1.start()
22     p2 = MyProcess(3,4)
23     p2.start()

免责声明:文章转载自《Python--day37--多进程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java反射知识点总结offsetLeft, offsetTop以及postion().left , postion().top有神马区别下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

多进程、协程、事件驱动及select poll epoll

目录 -多线程使用场景 -多进程  --简单的一个多进程例子  --进程间数据的交互实现方法    ---通过Queues和Pipe可以实现进程间数据的传递,但是不能实现数据的共享    ---Queues     ---Pipe     ---通过Manager可以不同进程间实现数据的共享  --进程同步,即进程锁  --进程池 -协程  --先用yie...

用GDB调试多进程程序

在子进程中sleep。然后attach上去。 gdb --pid=123456 ps出子进程的id,gdb attach 进程号.http://www.ibm.com/developerworks/cn/linux/l-cn-gdbmp/index.html 实际上,GDB 没有对多进程程序调试提供直接支持。比如。使用GDB调试某个进程,假设该进程for...

haproxy测试

环境: Clients:N台linux, 使用“ab -k -c 20000...” 并发2w 请求haproxy Haproxy Server: R610 2*8核 2.4G Real Server: IIS6 (50字节 html静态文件) 使用一台客户端向haproxy发起20000并发请求,如下: 1. option httpclose   700...

python多进程那点事儿【multiprocessing库】

      前言:项目中有个需求需要对产品的日志处理,按照产品中日志的某些字段,对日志进行再次划分。比如产品的日志中含有字段id,tag=1,现在需要把tag是基数的放到一个文件中,tag是偶数的放入一个文件中。这就涉及到多个文件的读写操作,一个文件一个文件读取写入那时间太久了,公司配备的单机,跑了半个多小时,光标还是一直在闪闪闪【你懂得】。没办法了,还是...

Python基础-多线程与多进程

一,线程与进程之间的关系:(从知乎上看到的) 一个必须知道的事实:执行一段程序代码,实现一个功能的过程介绍 ,当得到CPU的时候,相关的资源必须也已经就位,就是显卡啊,GPS啊什么的必须就位,然后CPU开始执行。这里除了CPU以外所有的就构成了这个程序的执行环境,也就是我们所定义的程序上下文。当这个程序执行完了,或者分配给他的CPU执行时间用完了,那它就...

python并发编程:阻塞IO

阻塞IO(blocking  IO) 在Linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样:   当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据。对于network io来说,很多时候数据在一开始还没有到达(比如,还没有收到一个完整的udp包),这个时候kernel...