zoukankan      html  css  js  c++  java
  • 【Python高级编程001 ● 多任务编程 ● 进程的使用】


     ---------Python基础编程---------

    Author : AI菌


    【内容讲解】

    一、概念介绍
    1、并行:对于多核cpu处理多任务,操作系统会给cpu的每个内核安排一个执行的软件,
            多个内核是真正的一起执行软件;
            多核cpu是并行的执行多任务,始终有多个软件一起执行;
            一句话总结: 并行可以同时执行。
    
    2、并发:单核cpu处理多任务,操作系统轮流让各个软件交替执行,
            由于CPU的执行速度实在是太快了,我们感觉就像这些软件都在同时执行一样;
            单核cpu是并发的执行多任务的;
            一句话总结:并发是交替执行。
    
    二、进程与线程
        1、多进程可以使用cpu的多核运行,多个进程可以并行(同时执行)
        2、多线程不能使用多核,只能是单核的,多个线程只能并发执行(交替执行)
    
    三、进程创建的步骤
        1、导入进程包
            import multiprocessing
        2、创建子进程并指定执行的任务
            sub_process = multiprocessing.Process (target=任务名)
        3、启动进程执行任务
            sub_process.start()

    【代码演示】

    """
    一、概念介绍
    1、并行:对于多核cpu处理多任务,操作系统会给cpu的每个内核安排一个执行的软件,
            多个内核是真正的一起执行软件;
            多核cpu是并行的执行多任务,始终有多个软件一起执行;
            一句话总结: 并行可以同时执行。
    
    2、并发:单核cpu处理多任务,操作系统轮流让各个软件交替执行,
            由于CPU的执行速度实在是太快了,我们感觉就像这些软件都在同时执行一样;
            单核cpu是并发的执行多任务的;
            一句话总结:并发是交替执行。
    
    二、进程与线程
        1、多进程可以使用cpu的多核运行,多个进程可以并行(同时执行)
        2、多线程不能使用多核,只能是单核的,多个线程只能并发执行(交替执行)
    
    三、进程创建的步骤
        1、导入进程包
            import multiprocessing
        2、创建子进程并指定执行的任务
            sub_process = multiprocessing.Process (target=任务名)
        3、启动进程执行任务
            sub_process.start()
    """
    
    # 1.导入multiprocessing包 和 延时time模块
    import multiprocessing  # Ctrl+B查看类型,打开的是__init__.py,说明是包
    import time  # Ctrl+B查看类型,打开的是time.py,说明是模块
    
    
    # 定义跳舞的任务函数
    def dance():
        for i in range(3):  # i=0,1,2
            print("跳舞中")
            # 延时0.2秒
            time.sleep(0.2)
    
    
    # 定义唱歌的任务函数
    def sing():
        for i in range(3):  # i=0,1,2
            print("唱歌中")
            time.sleep(0.2)
    
    
    # 判断是否是模块, 有快捷键: main
    if __name__ == '__main__':
        # 2. 创建进程对象
        # group : 进程组,目前只能使用None, 一般不要管它
        # target:指定执行的任务名
        sub_process1 = multiprocessing.Process(target=dance)
        sub_process2 = multiprocessing.Process(target=sing)
    
        # 3.启动进程执行对应的任务
        sub_process1.start()
        sub_process2.start()

    【运行结果】

    跳舞中
    唱歌中
    跳舞中
    唱歌中
    跳舞中
    唱歌中

    【往期精彩】

    ▷【Python基础编程196 ● 读取文件的4种方式】
    ▷【Python基础编程197 ● 读取文件的4种方式】
    ▷【Python基础编程198 ● 读取文件的4种方式】
    ▷【Python基础编程199 ● Python怎么读/写很大的文件】
    ▷【Python基础编程200 ● 读取文件的4种方式】
    ▷【Python基础编程201 ● 读取文件的4种方式】
    ▷【Python基础编程202 ● 读取文件的4种方式】
    ▷【Python基础编程203 ● 读取文件的4种方式】

    【加群交流】



  • 相关阅读:
    二:虚拟游戏摇杆
    一:AndEngine的小例子
    打造属于自己的安卓Metro界面
    linux设备驱动第四篇:驱动调试方法
    C# 二叉查找树实现
    初识 Angular 体会
    C# 霍夫曼二叉树压缩算法实现
    TypeScript笔记[5]泛型+Dictionary 转
    Axiom3D学习日记 5.Frame Listeners, and Input Handling
    Axiom3D学习日记 4.地形,天空,雾
  • 原文地址:https://www.cnblogs.com/hezhiyao/p/13602745.html
Copyright © 2011-2022 走看看