python 高級-----多任務

多任務:操作系統在可以在同一時間運行多個程序

1.多任務的執行方式:

      1.1  併發:   多個任務交替執行

      1.2  並行:   多個任務一起執行

2.多任務的實現方式

     2.1 線程

     2.2 進程

     2.3 協程

3.線程

    3.1 線程是操作系統中的最小的執行單元

    3.2 在一個進程內的所有線程共享全局變量

    3.3 因爲全局解釋器鎖的緣故,python中的多線程是一個僞多線程

    3.4 GIL(Global Interpreter Lock,全局解釋器) :python中爲了解決多線程之間的數據的完整性和狀態同步問題的準備的鎖

4.線程同步

    4.1 爲什麼進行線程同步

      如果多個線程同時對同一個全局變量操作,會出現資源競爭的問題,導致數據錯誤,爲了解決這個問題,需要進行線程同步

    4.2 什麼是線程同步

      線程同步是多個線程按先後順序執行。實現線程同步則需要引入鎖的機制

    4.3 什麼是互斥鎖

      互斥鎖:在線程執行時對資源加互斥鎖,使得其他線程無法操作資源,直到該線程釋放資源後,將鎖打開,其他線程才能對資源進行操作。

    4.4 什麼是死鎖

    死鎖是多個線程共享資源時,幾個線程分別佔有一部分資源並且等待其他線程的資源時,就會造成死鎖。

5.進程

    5.1 進程是操作系統中的最小資源分配單元。

    5.2  一個程序中至少擁有一個進程,一個進程至少擁有一個線程

    5.3  同一進程中的線程數據共享

    5.4 每一個進程擁有獨立的內存空間

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章