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