python-创建进程的三种方法和应用

from multiprocessing import Process
import time
def task(interval):
    time.sleep(interval)
    print('我是子进程')

if __name__ == '__main__':
    print('主进程开始')
    p = Process(target=task,args=(1,))
    p.start()
    print('主进程结束')

####################################

from multiprocessing import Process
import time
import os

def child_1(interval):
    print('子进程%s开始执行,它的父进程是%s'%(os.getpid(),os.getppid()))
    t_start = time.time()
    time.sleep(interval)
    t_end=time.time()
    print('子进程%s执行时间为%0.2f秒'%(os.getpid(),t_end-t_start))


def child_2(interval):
    print('子进程%s开始执行,它的父进程是%s'%(os.getpid(),os.getppid()))
    t_start = time.time()
    time.sleep(interval)
    t_end=time.time()
    print('子进程%s执行时间为%0.2f秒'%(os.getpid(),t_end-t_start))


if __name__ == '__main__':
    print('主进程开始')
    print('主进程pid:%s'%os.getpid())
    p1 = Process(target=child_1, args=(1,))
    p2 =Process(target=child_2,name='mrsoft',args=(2,))
    p1.start()
    p2.start()
    print('p1.is_alive:%s'%p1.is_alive())
    print('p2.is_alive:%s'%p2.is_alive())
    print('p1.name:%s'%p1.name)
    print('p1.id:%s'%p1.pid)
    print('p2.name:%s' % p2.name)
    print('p2.id:%s' % p2.pid)
    p1.join()
    p2.join()
    print('主进程结束')

################################################

from multiprocessing import Pool
import os
import time

def task(name):
    print('子进程%s执行任务%s'%(os.getpid(),name))
    time.sleep(1)


if __name__ == '__main__':
    print('父进程%s'%os.getpid())
    p=Pool(3)
    for i  in range(10):
        p.apply_async(task,args=(i,))

    p.close()
    p.join()
    print('所有子进程结束')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值