最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

區(qū)分python中的進程與線程

 更新時間:2020年08月13日 08:35:03   作者:叫我龍總  
這篇文章主要介紹了區(qū)分python中的進程與線程,幫助大家更好的理解和學習python,感興趣的朋友可以了解下

今天整理的文章是給大家梳理Python的進程與線程的區(qū)別,沒什么代碼,希望大家能清楚知道他們的區(qū)別,什么情況用線程,什么情況用進程做到心中有數(shù),希望大家能熟練掌握.

進程的基本概念

概念

進程就是一個程序在一個數(shù)據集上的一次動態(tài)執(zhí)行過程。進程一般由程序、數(shù)據集、進程控制塊三部分組成。我們編寫的程序用來描述進程要完成哪些功能以及如何完成;數(shù)據集則是程序在執(zhí)行過程中所需要使用的資源;進程控制塊用來記錄進程的外部特征,描述進程的執(zhí)行變化過程,系統(tǒng)可以利用它來控制和管理進程,它是系統(tǒng)感知進程存在的唯一標志。

線程的基本概念

概念

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

好處

  • 易于調度。
  • 提高并發(fā)性,通過線程可方便有效地實現(xiàn)并發(fā)性。進程可創(chuàng)建多個線程來執(zhí)行同一程序的不同部分。
  • 開銷少,創(chuàng)建線程比創(chuàng)建進程要快,所需開銷很少

進程的基本狀態(tài)及狀態(tài)之間的關系

狀態(tài):運行、阻塞、掛起阻塞、就緒、掛起就緒

狀態(tài)之間的轉換:

  1. 準備就緒的進程,被CPU調度執(zhí)行,變成運行態(tài);
  2. 運行中的進程,進行I/O請求或者不能得到所請求的資源,變成阻塞態(tài);
  3. 運行中的進程,進程執(zhí)行完畢(或時間片已到),變成就緒態(tài);
  4. 將阻塞態(tài)的進程掛起,變成掛起阻塞態(tài),當導致進程阻塞的I/O操作在用戶重啟進程前完成(稱之為喚醒),掛起阻塞態(tài)變成掛起就緒態(tài),當用戶在I/O操作結束之前重啟進程,掛起阻塞態(tài)變成阻塞態(tài);
  5. 將就緒(或運行)中的進程掛起,變成掛起就緒態(tài),當該進程恢復之后,掛起就緒態(tài)變成就緒態(tài);

進程和線程的關系:

  • 一個線程只能屬于一個進程,而一個進程可以有多個線程,但至少有一個線程。
  • 資源分配給進程,同一進程的所有線程共享該進程的所有資源。
  • 處理機分給線程,即真正在處理機上運行的是線程
  • 線程在執(zhí)行過程中,需要協(xié)作同步。不同進程的線程間要利用消息通信的辦法實現(xiàn)同步。線程是指進程內的一個執(zhí)行單元,也是進程內的可調度實體.

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

  • 運行方式不同

進程不能單獨執(zhí)行,它只是資源的集合。
進程要操作CPU,必須要先創(chuàng)建一個線程。
所有在同一個進程里的線程,是同享同一塊進程所占的內存空間。

  • 關系

進程中第一個線程是主線程,主線程可以創(chuàng)建其他線程;其他線程也可以創(chuàng)建線程;線程之間是平等的。
進程有父進程和子進程,獨立的內存空間,唯一的標識符:pid。

  • 速度

啟動線程比啟動進程快
運行線程和運行進程速度上是一樣的,沒有可比性
線程共享內存空間,進程的內存是獨立的。

  • 創(chuàng)建

父進程生成子進程,相當于復制一份內存空間,進程之間不能直接訪問
創(chuàng)建新線程很簡單,創(chuàng)建新進程需要對父進程進行一次復制
一個線程可以控制和操作同級線程里的其他線程,但是進程只能操作子進程。

  • 交互

同一個進程里的線程之間可以直接訪問。
兩個進程想通信必須通過一個中間代理來實現(xiàn)。

  • 調度

線程作為調度和分配的基本單位,進程作為擁有資源的基本單位

  • 并發(fā)性

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

  • 擁有資源:

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

  • 系統(tǒng)開銷:

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

以上就是區(qū)分python中的進程與線程的詳細內容,更多關于python進程與線程的資料請關注腳本之家其它相關文章!

相關文章

  • python執(zhí)行shell并獲取結果的詳細示例

    python執(zhí)行shell并獲取結果的詳細示例

    在Python中執(zhí)行Shell命令并獲取其結果,通??梢允褂胹ubprocess模塊,這個模塊允許我們啟動新的進程,連接到它們的輸入/輸出/錯誤管道,并獲取它們的返回碼,下面是一個詳細的示例,展示了如何使用subprocess.run()函數(shù)來執(zhí)行Shell命令并獲取其輸出,需要的朋友可以參考下
    2024-07-07
  • Python中l(wèi)ist查詢及所需時間計算操作示例

    Python中l(wèi)ist查詢及所需時間計算操作示例

    這篇文章主要介紹了Python中l(wèi)ist查詢及所需時間計算操作,涉及Python列表list遍歷、查詢及時間消耗計算相關操作技巧,需要的朋友可以參考下
    2018-06-06
  • 使用jupyter?notebook保存python代碼為.py格式問題

    使用jupyter?notebook保存python代碼為.py格式問題

    這篇文章主要介紹了使用jupyter?notebook保存python代碼為.py格式問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 對pyqt5多線程正確的開啟姿勢詳解

    對pyqt5多線程正確的開啟姿勢詳解

    今天小編就為大家分享一篇對pyqt5多線程正確的開啟姿勢詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 一個Python最簡單的接口自動化框架

    一個Python最簡單的接口自動化框架

    這篇文章主要為大家詳細介紹了一個Python最簡單的接口自動化框架,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • python中sys.argv參數(shù)用法實例分析

    python中sys.argv參數(shù)用法實例分析

    這篇文章主要介紹了python中sys.argv參數(shù)用法,實例分析了python中sys.argv參數(shù)的功能、定義及使用技巧,需要的朋友可以參考下
    2015-05-05
  • scikit-learn線性回歸,多元回歸,多項式回歸的實現(xiàn)

    scikit-learn線性回歸,多元回歸,多項式回歸的實現(xiàn)

    這篇文章主要介紹了scikit-learn線性回歸,多元回歸,多項式回歸的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Python閉包及裝飾器運行原理解析

    Python閉包及裝飾器運行原理解析

    這篇文章主要介紹了python閉包及裝飾器運行原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • Python搭建Keras CNN模型破解網站驗證碼的實現(xiàn)

    Python搭建Keras CNN模型破解網站驗證碼的實現(xiàn)

    這篇文章主要介紹了Python搭建Keras CNN模型破解網站驗證碼的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • python引用DLL文件的方法

    python引用DLL文件的方法

    這篇文章主要介紹了python引用DLL文件的方法,涉及Python調用dll文件的相關技巧,需要的朋友可以參考下
    2015-05-05

最新評論

吴川市| 济阳县| 井陉县| 利辛县| 瓮安县| 鲁山县| 台中市| 南陵县| 库尔勒市| 义马市| 松桃| 蚌埠市| 海阳市| 天峨县| 理塘县| 岑溪市| 凭祥市| 华蓥市| 玛曲县| 宣化县| 丹江口市| 安仁县| 城固县| 巴林右旗| 衡东县| 昌图县| 海宁市| 濮阳市| 永康市| 彭阳县| 渑池县| 新巴尔虎左旗| 龙泉市| 阳西县| 平潭县| 泗水县| 伊春市| 建水县| 宁南县| 浦江县| 登封市|