欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中線程和進程有何區(qū)別

 更新時間:2020年06月17日 11:50:48   投稿:laozhang  
在本篇文章里小編給大家整理的是一篇關于python中線程和進程的區(qū)別相關知識點,有需要的朋友們可以參考下。

引入進程和線程的概念及區(qū)別

threading模塊提供的類:  

Thread, Lock, Rlock, Condition, [Bounded]Semaphore, Event, Timer, local。

1.什么是進程

計算機程序只不過是磁盤中可執(zhí)行的二進制(或其他類型)的數(shù)據(jù)。它們只有在被讀取到內(nèi)存中,被操作系統(tǒng)調(diào)用的時候才開始它們的生命期。

進程(有時被稱為重量級進程)是程序的一次執(zhí)行。每個進程都有自己的地址空間、內(nèi)存、數(shù)據(jù)棧及其它記錄其運行軌跡的輔助數(shù)據(jù)。

操作系統(tǒng)管理在其上運行的所有進程,并為這些進程公平的分配時間,進程也可以通過fork和spawn操作來完成其它的任務。

不過各個進程有自己的內(nèi)存空間、數(shù)據(jù)棧等,所以只能使用進程間通訊,而不能直接共享信息。

2.線程的基本概念

線程是進程中執(zhí)行運算的最小單位,是進程中的一個實體,是被系統(tǒng)獨立調(diào)度和分派的基本單位,線程自己不擁有系統(tǒng)資源,只擁有一點在運行中必不可少的資源,但它可與同屬一個進程的其它線程共享進程所擁有的全部資源。一個線程可以創(chuàng)建和撤消另一個線程,同一進程中的多個線程之間可以并發(fā)執(zhí)行。

 3、線程和進程的關系以及區(qū)別?

進程和線程的關系:

(1)一個線程只能屬于一個進程,而一個進程可以有多個線程,但至少有一個線程。

(2)資源分配給進程,同一進程的所有線程共享該進程的所有資源。

(3)處理機分給線程,即真正在處理機上運行的是線程

(4)線程在執(zhí)行過程中,需要協(xié)作同步。不同進程的線程間要利用消息通信的辦法實現(xiàn)同步。線程是指進程內(nèi)的一個執(zhí)行單元,也是進程內(nèi)的可調(diào)度實體.

進程與線程的區(qū)別:

(1)調(diào)度:線程作為調(diào)度和分配的基本單位,進程作為擁有資源的基本單位

(2)并發(fā)性:不僅進程之間可以并發(fā)執(zhí)行,同一個進程的多個線程之間也可并發(fā)執(zhí)行

(3)擁有資源:進程是擁有資源的一個獨立單位,線程不擁有系統(tǒng)資源,但可以訪問隸屬于進程的資源.

(4)系統(tǒng)開銷:在創(chuàng)建或撤消進程時,由于系統(tǒng)都要為之分配和回收資源,導致系統(tǒng)的開銷明顯大于創(chuàng)建或撤消線程時的開銷。

知識點補充:

  • 進程是資源分配的單位
  • 線程是操作系統(tǒng)調(diào)度的單位
  • 協(xié)程,又稱微線程,纖程,協(xié)程的切換只是單純的操作CPU的上下文,資源很小,效率高
  • 進程切換需要的資源很最大,效率很低
  • 一個程序至少有一個進程,一個進程至少有一個線程
  • 線程執(zhí)行開銷小,但不利于資源的管理和保護;而進程正相反

到此這篇關于python中線程和進程有何區(qū)別的文章就介紹到這了,更多相關python中線程和進程的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 簡單了解python字符串前面加r,u的含義

    簡單了解python字符串前面加r,u的含義

    這篇文章主要介紹了簡單了解python字符串前面加r,u的含義,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Numpy中創(chuàng)建數(shù)組的9種方式小結

    Numpy中創(chuàng)建數(shù)組的9種方式小結

    本文主要介紹了Numpy中創(chuàng)建數(shù)組的9種方式小結,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • python實現(xiàn)守護進程、守護線程、守護非守護并行

    python實現(xiàn)守護進程、守護線程、守護非守護并行

    本篇文章主要介紹了python實現(xiàn)守護進程、守護線程、守護非守護并行,詳細的介紹了守護子進程、非守護子進程并存,守護子線程非守護子進程并存的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • pycharm無法導入本地模塊的解決方式

    pycharm無法導入本地模塊的解決方式

    今天小編就為大家分享一篇pycharm無法導入本地模塊的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • TensorFlow入門使用 tf.train.Saver()保存模型

    TensorFlow入門使用 tf.train.Saver()保存模型

    這篇文章主要介紹了TensorFlow入門使用 tf.train.Saver()保存模型,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • pytorch 批次遍歷數(shù)據(jù)集打印數(shù)據(jù)的例子

    pytorch 批次遍歷數(shù)據(jù)集打印數(shù)據(jù)的例子

    今天小編就為大家分享一篇pytorch 批次遍歷數(shù)據(jù)集打印數(shù)據(jù)的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python隊列、進程間通信、線程案例

    Python隊列、進程間通信、線程案例

    這篇文章主要介紹了Python隊列、進程間通信、線程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Python實現(xiàn)標記數(shù)組的連通域

    Python實現(xiàn)標記數(shù)組的連通域

    這篇文章主要為大家詳細介紹了如何通過Python實現(xiàn)標記數(shù)組的連通域,文中的示例代碼講解詳細,對我們學習Python有一定的幫助,需要的可以參考一下
    2023-04-04
  • 使用Python判斷一個文件是否被占用的方法教程

    使用Python判斷一個文件是否被占用的方法教程

    這篇文章主要給大家介紹了關于如何使用Python判斷一個文件是否被占用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Python可視化程序調(diào)用流程解析

    Python可視化程序調(diào)用流程解析

    這篇文章主要為大家介紹了可視化Python程序調(diào)用流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08

最新評論