7.13python多进程

 

 

 

所以引入了     多进程*(异步) 处理效率高

#!/usr/bin/env python
#!--*--coding:utf-8 --*--
#!@Time    :2018/7/13 19:26
#!@Author   TrueNewBee
import  time
from multiprocessing import  Process

#多进程打印*   异步
def func(filename,content):
    """定义一个函数执行打印"""
    print('*'*arg1)
    time.sleep(5)
    print('*'*arg2)


if __name__ =="__main__":
    # 异步,并不是按顺序同时打印
    # for i in  range(10):
    #     # p = Process(target=func,args=(10*i,20*i))
    #     # p.start()
    p_list = [] #创建一个进程对象的列表
    for i in range(10):
        p = Process(target=func,args=(10*i,20*i))
        p_list.append(p)
        p.start()
        #让"运行完了最后打印,是个进程都是异步,在此之前所有子进程全部进行完了,然后才是同步
    # for p in p_list:p.join()  列表推导式还原,其实就是一个for循环
    [p.join() for p in p_list]  #列表推导式
    print("运行完了")
#!/usr/bin/env python
#!--*--coding:utf-8 --*--
#!@Time    :2018/7/11 20:46
#!@Author   TrueNewBee
"""
2018-7-13 19:16:18
昨天去俺弟家玩去了,昨晚上在他家没睡好,还是在家撸代码好

"""
import  time
from multiprocessing import  Process


def func(arg1,arg2):
    """定义一个函数执行打印"""
    print('*'*arg1)
    time.sleep(5)
    print('*'*arg2)

# 先打印了 "运行完了"  5秒 再打印 arg2  实现了异步效果

if __name__ =="__main__":
    p = Process(target=func ,args=(10,20))
    p.start()
    print("hhhhhhh") #join()和start()之间的部分仍然是异步,在join()下面才是同步
    # p.join()  #是感知一个子进程的结束,将异步的程序变为同步
    """实现了异步效果"""
    print('========:运行完了')

 

posted @ 2018-07-13 20:16  我想喝杨枝甘露~  阅读(134)  评论(0编辑  收藏  举报