您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Python開發中多進程、多線程以及協程是什么意思”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Python開發中多進程、多線程以及協程是什么意思”這篇文章吧。
其實多線程,多進程,在實際開發中用到的很少,進程:一個運行的程序(代碼)就是一個進程,沒有運行的代碼叫程序;線程:調度執行的最小單位,也叫執行路徑;協程:是一種用戶態的輕量級線程,協程的調度完全由用戶控制
這個問題被問的概率相當之大,其實多線程,多進程,在實際開發中用到的很少,除非是那些對項目性能要求特別高的,有的開發工作幾年了,也確實沒用過,你可以這么回答,給他扯扯什么是進程,線程(cpython 中是偽多線程)的概念就行,實在不行你就說你之前寫過下載文件時,用過多線程技術,或者業余時間用過多線程寫爬蟲,提升效率。
進程:一個運行的程序(代碼)就是一個進程,沒有運行的代碼叫程序,進程是系統資源分配的最小單位,進程擁有自己獨立的內存空間,所以進程間數據不共享,開銷大。
線程:調度執行的最小單位,也叫執行路徑,不能獨立存在,依賴進程存在一個進程至少有一個線程,叫主線程,而多個線程共享內存 (數據共享,共享全局變量),從而極大地提高了程序的運行效率。
協程:是一種用戶態的輕量級線程,協程的調度完全由用戶控制。
協程擁有自己的寄存器上下文和棧。協程調度切換時,將寄存器上下 文和棧保存到其他地方,在切回來的時候,恢復先前保存的寄存器上下文和棧,直接操作棧則基本沒有內核切換的開銷,可以不加鎖的訪問全局變量,所以上下文的切換非常快。
以上是“Python開發中多進程、多線程以及協程是什么意思”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。