zoukankan      html  css  js  c++  java
  • 进程的开启 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)
  • 相关阅读:
    spring filter and interceptor
    spring 与 swagger 2 的整合
    spring 异步操作
    图片延迟加载 jquery,lazyload.js 调用的demo
    一、Spring的第一个课时
    线程的基本了解
    HTTPS/HTTP监听常见问题
    Leetcode 118 杨辉三角
    HashSet的源码解释
    HashMap源码理解
  • 原文地址:https://www.cnblogs.com/wy3713/p/9366812.html
Copyright © 2011-2022 走看看