python第10天

multiprocessing包是Python中的多进程管理包。与threading.Thread类似,它可以利用multiprocessing.Process对象来创建一个进程。该进程可以运行在Python程序内部编写的函数。该Process对象与Thread对象的用法相同,也有start(), run(), join()的方法。此外multiprocessing包中也有Lock/Event/Semaphore/Condition类 (这些对象可以像多线程那样,通过参数传递给各个进程),用以同步进程,其用法与threading包中的同名类一致。所以,multiprocessing的很大一部份与threading使用同一套API,只不过换到了多进程的情境

调用方法一:

import multiprocessing#多进程包
import time
def visit(name):
    time.sleep(1)
    print('hello', name,time.ctime())

if __name__ == '__main__':
    p_list=[]
    for i in range(3):
        p = multiprocessing.Process(target=visit, args=('alvin',))#创建子进程对象
        p_list.append(p)
        p.start()#开启进程
    for i in p_list:
        p.join()#与线程意义先疼痛
    print('end')

调用方法二:

class MyProcess(Process):
    def run(self):
        time.sleep(1)
        print ('hello', self.name,time.ctime())

if __name__ == '__main__':
    p_list=[]
    for i in range(3):
        p = MyProcess()
        p.start()
        p_list.append(p)
    for p in p_list:
        p.join()
    print(multiprocessing.Process())
    print('end')

  

 

  

猜你喜欢

转载自www.cnblogs.com/Mr-l/p/10373862.html