zoukankan      html  css  js  c++  java
  • Python3 异步编程之进程与线程

    Python3 异步编程之进程与线程-1

    一、了解进程间通信

    • 进程间通信

    • 进程

    • 线程

    • 线程 vs 进程

    • IO模型

    • 并发 vs 并行

    • 异步 vs 同步

    二、多线程与多进程的用法

    • 计算密集型 vs I/O密集型

    • GIL

    • 多线程

    • 多进程

    三、协程的好处与用法

    • 协程

    • yield

    • yield from

    四、进程间通信-IPC 01

    • 管道:无名管道和命名管道(FIFO)

    • 消息队列

    • 信号量

    • 共享存储

    • Socket

    • Streams

        相关定义:

            管道:

                            1.png

            命名管道:

                           2.png

            消息队列:

                            3.png

            信号量:

                            4.png

            共享内存:

                            5.png

            元子操作:

                            6.png

    五、进程特征

    • 动态性

    • 并发性

    • 独立性

    • 异步性

    六、进程状态

    • 运行 running   占用了CPU正在运行

    • 就绪 ready     等待CPU

    • 阻塞 blocked   暂时不具备运行条件,即使CPU空闲

      相关定义:

      进程控制块:

                       7.png

                       

                        8.png

           Unix系统中的几个进程控制操作:

                          9.png

           线程:

                        10.png

          线程之间共享:

                        11.png

          线程的独立信息:

                        12.png

          线程的创建:

                        13.png

    七、了解进程间通信02

      I/O模型

    • 阻塞式

    • 非阻塞式

    • I/O复用

    • 信号驱动式

    • 异步I/O

          相关定义:

            I/O操作的两个阶段:

                       14.png

                       15.png

                    
          阻塞式I/O:

                       16.png

           非阻塞式I/O:

                       17.png

          

           I/O复用:

                       18.png

                       19.png

          

          信号驱动式:

                      20.png

          异步I/O:

                     21.png

                     22.png

          并发和并行:

                    23.png

          异步与同步:

                   24.png

          异步的实现:

                  25.png

       处理多任务操作:

    • 多进程/多线程

    • I/O模型

    • 协程

     多线程、多进程实现模式:master  worker模式

     master分配任务 多进程缺点:创建进程资源需要多frok()函数 多线程缺点:某个线程出问题,整个挂掉

                27.png

                28.png

                29.png

  • 相关阅读:
    rails 给类添加属性
    workflow engine Ruote初体验之二(通用属性)
    workflow engine Ruote初体验之一(概念)
    workflow engine Ruote 安装
    文字编码
    C# 制作Windows服务安装包
    Ruby on rails初体验(三)
    18-语言入门-18-鸡兔同笼
    17-语言入门-17-笨小熊
    16-语言入门-16-谁获得了最高奖学金
  • 原文地址:https://www.cnblogs.com/sqtu/p/10559626.html
Copyright © 2011-2022 走看看