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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3 异步编程之进程与线程-1相关的知识,希望对你有一定的参考价值。

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

一、了解进程间通信

  • 进程间通信

  • 进程

  • 线程

  • 线程 vs 进程

  • IO模型

  • 并发 vs 并行

  • 异步 vs 同步


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

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

  • GIL

  • 多线程

  • 多进程


三、协程的好处与用法

  • 协程

  • yield

  • yield from


四、进程间通信-IPC 01

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

  • 消息队列

  • 信号量

  • 共享存储

  • Socket

  • Streams

    相关定义:

        管道:

                        技术分享图片

        命名管道:

                       技术分享图片

        消息队列:

                        技术分享图片

        信号量:

                        技术分享图片

        共享内存:

                        技术分享图片

        元子操作:

                        技术分享图片


五、进程特征

  • 动态性

  • 并发性

  • 独立性

  • 异步性


六、进程状态

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

  • 就绪 ready     等待CPU

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

    相关定义:

    进程控制块:

                     技术分享图片

                    

                    技术分享图片

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

                      技术分享图片


       线程:

                    技术分享图片


      线程之间共享:

                    技术分享图片


      线程的独立信息:

                    技术分享图片


      线程的创建:

                    技术分享图片


七、了解进程间通信02

  I/O模型

  • 阻塞式

  • 非阻塞式

  • I/O复用

  • 信号驱动式

  • 异步I/O

      相关定义:

        I/O操作的两个阶段:

                   技术分享图片

                   技术分享图片

               
      阻塞式I/O:

                   技术分享图片


       非阻塞式I/O:

                   技术分享图片

     

       I/O复用:

                   技术分享图片

                   技术分享图片

     

      信号驱动式:

                  技术分享图片


      异步I/O:

                 技术分享图片

                 技术分享图片


      并发和并行:

                技术分享图片


      异步与同步:

               技术分享图片


      异步的实现:

              技术分享图片


   处理多任务操作:

  • 多进程/多线程

  • I/O模型

  • 协程

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

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

            技术分享图片

            技术分享图片

            技术分享图片

    

      

以上是关于Python3 异步编程之进程与线程-1的主要内容,如果未能解决你的问题,请参考以下文章

python网络编程基础(线程与进程并行与并发同步与异步)

Python3异步编程

网络编程之异步IO,rabbitMQ笔记

并发编程之进程与线程

并发编程 - 线程 - 1.线程queue/2.线程池进程池/3.异步调用与回调机制

并发编程 - 线程 - 1.线程queue/2.线程池进程池/3.异步调用与回调机制