Python3 異步編程之進程與線程

Python3 異步編程之進程與線程-1編程

1、瞭解進程間通訊多線程

  • 進程間通訊併發

  • 進程異步

  • 線程異步編程

  • 線程 vs 進程函數

  • IO模型線程

  • 併發 vs 並行3d

  • 異步 vs 同步協程

     

2、多線程與多進程的用法blog

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

  • GIL

  • 多線程

  • 多進程

 

3、協程的好處與用法

  • 協程

  • yield

  • yield from

 

4、進程間通訊-IPC 01

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

  • 消息隊列

  • 信號量

  • 共享存儲

  • Socket

  • Streams

    相關定義:

        管道:

                        1.png

        命名管道:

                       2.png

        消息隊列:

                        3.png

        信號量:

                        4.png

        共享內存:

                        5.png

        元子操做:

                        6.png

 

5、進程特徵

  • 動態性

  • 併發性

  • 獨立性

  • 異步性

 

6、進程狀態

  • 運行 running   佔用了CPU正在運行

  • 就緒 ready     等待CPU

  • 阻塞 blocked   暫時不具有運行條件,即便CPU空閒

    相關定義:

    進程控制塊:

                     7.png

                     

                    8.png

       Unix系統中的幾個進程控制操做:

                      9.png

 

       線程:

                    10.png

 

      線程之間共享:

                    11.png

 

      線程的獨立信息:

                    12.png

 

      線程的建立:

                    13.png

 

7、瞭解進程間通訊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

相關文章
相關標籤/搜索