进程的开启 mulitiprocessing

进程包 mulitiprocessing
1.创建进程的模块
  1.1 引入模块
    form multiprocessing import Process
  1.2 使用模块 Process
    p = Process(target = func,args = (1,)) 创建一个进程对象
    target : 子进程开启的函数 , args :子进程函数的参数,必须是元组
    p.start() 向操作系统提交一个开启子进程的申请
  1.3 其他方法
    p.join() : 阻塞,直到p这个子进程完毕之后才会继续在执行下面的函数
    一批任务使用join,先用列表把进程对象存储起来,在遍历join
    p.is_alive() : 检查进程是否仍在执行任务,纯在返回True 错误返回False
    p.terminate() : 强制结束子进程,非阻塞
  1.4 常用使用方法
    1.4.1 函数开启子进程,并传入参数
      

1 def func():
2     print('in fun ', os.getpid(),os.getppid())
3 if __mane__ == '__mian__':
4     print('in main', os.getpid(),os.getppid())
5     p = Process(target = func,args = (1,))
6     p.start()

 


  对于windows来说 必要加 if __mane__ == '__mian__':
  Windows 创建进程对象等于import引入当前py文件
  对于linux ios 来说不必要加 if __mane__ == '__mian__':
  linux mac 创建进程对象等于 复制了一份当前py文件 并没有加载
  1.4.2 面向对象开启子进程的方法

class Myprocess(Process)
    def __init__(self,mun)
    super().__init__
    self.num = num 
def run(self):
    print('in run ',self.num, os.getpid(),os.getppid())
if __mane__ == '__mian__':
    print('in main', os.getpid(),os.getppid())
    p = Myprocess(1)

 

转载于:https://www.cnblogs.com/wy3713/p/9366812.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值