• 进程


    进程是资源分配的最小单位,程序隔离的边界。

    CPU的时间片轮转,在不同的时间段切换执行不同的进程,但是切换进程是比较耗时的;就引来了轻量级进程,也就是所谓的线程,一个进程中包括多个线程(代码流,其实也就是进程中同时跑的多个方法体)

    进程的状态可分为:

      就绪态:运行条件都已经满足,等待执行

      执行态:cpu正在执行

      等待态:等待某些条件满足,才可以执行,比如 sleep

    创建进程的模块 multiprocessing

    步骤:

    创建

    import multiprocessing

    定义函数:

    def 函数():

      ..........代码

    p = multiprocessing.Process(target=函数)

    启动

    p.start()

    • Process语法结构如下:

      Process([group [, target [, name [, args [, kwargs]]]]])

      • target:如果传递了函数的引用,这个子进程就执行这里(函数)的代码
      • args:给target指定的函数传递的参数,以元组的方式传递
      • kwargs:给target指定的函数传递命名参数
      • name:给进程设定一个名字,可以不设定
      • group:指定进程组,大多数情况下用不到

      Process创建的实例对象的常用方法:

      • start():启动子进程实例(创建子进程)
      • is_alive():判断进程子进程是否还在活着
      • join([timeout]):是否等待子进程执行结束,或等待多少秒
      • terminate():不管任务是否完成,立即终止子进程

      Process创建的实例对象的常用属性:

      • name:当前进程的别名,默认为Process-N,N为从1开始递增的整数
      • pid:当前进程的pid(进程号)
  • 相关阅读:
    Linux 共享库
    使用Visual Studio(VS)开发Qt程序代码提示功能的实现(转)
    ZOJ 3469 Food Delivery(区间DP)
    POJ 2955 Brackets (区间DP)
    HDU 3555 Bomb(数位DP)
    HDU 2089 不要62(数位DP)
    UESTC 1307 windy数(数位DP)
    HDU 4352 XHXJ's LIS(数位DP)
    POJ 3252 Round Numbers(数位DP)
    HDU 2476 String painter (区间DP)
  • 原文地址:https://www.cnblogs.com/hanzeng1993/p/9519739.html
Copyright © 2020-2023  润新知