av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:8日期:2022-07-14 10:58:21

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

進(jìn)程的基本概念

概念

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

線程的基本概念

概念

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

好處

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

進(jìn)程的基本狀態(tài)及狀態(tài)之間的關(guān)系

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

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

準(zhǔn)備就緒的進(jìn)程,被CPU調(diào)度執(zhí)行,變成運(yùn)行態(tài); 運(yùn)行中的進(jìn)程,進(jìn)行I/O請求或者不能得到所請求的資源,變成阻塞態(tài); 運(yùn)行中的進(jìn)程,進(jìn)程執(zhí)行完畢(或時(shí)間片已到),變成就緒態(tài); 將阻塞態(tài)的進(jìn)程掛起,變成掛起阻塞態(tài),當(dāng)導(dǎo)致進(jìn)程阻塞的I/O操作在用戶重啟進(jìn)程前完成(稱之為喚醒),掛起阻塞態(tài)變成掛起就緒態(tài),當(dāng)用戶在I/O操作結(jié)束之前重啟進(jìn)程,掛起阻塞態(tài)變成阻塞態(tài); 將就緒(或運(yùn)行)中的進(jìn)程掛起,變成掛起就緒態(tài),當(dāng)該進(jìn)程恢復(fù)之后,掛起就緒態(tài)變成就緒態(tài);

進(jìn)程和線程的關(guān)系:

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

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

運(yùn)行方式不同

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

關(guān)系

進(jìn)程中第一個(gè)線程是主線程,主線程可以創(chuàng)建其他線程;其他線程也可以創(chuàng)建線程;線程之間是平等的。進(jìn)程有父進(jìn)程和子進(jìn)程,獨(dú)立的內(nèi)存空間,唯一的標(biāo)識(shí)符:pid。

速度

啟動(dòng)線程比啟動(dòng)進(jìn)程快運(yùn)行線程和運(yùn)行進(jìn)程速度上是一樣的,沒有可比性線程共享內(nèi)存空間,進(jìn)程的內(nèi)存是獨(dú)立的。

創(chuàng)建

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

交互

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

調(diào)度

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

并發(fā)性

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

擁有資源:

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

系統(tǒng)開銷:

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

以上就是區(qū)分python中的進(jìn)程與線程的詳細(xì)內(nèi)容,更多關(guān)于python進(jìn)程與線程的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产精品国产a | 日本综合在线观看 | a在线v| 精品亚洲一区二区三区 | 国产激情视频网站 | 亚洲性人人天天夜夜摸 | 欧美高清视频在线观看 | 久久草视频 | 成人av看片| 无人区国产成人久久三区 | av中文字幕在线播放 | 国产成人在线视频免费观看 | 久久国产一区 | 天堂在线1| 在线播放中文字幕 | 日本黄色免费片 | 欧美日韩成人在线 | 99re99| 欧美一级片 | 欧美日韩一区二区三区视频 | 免费一区二区三区 | 男女激情网站免费 | 成人av免费 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 欧美一区二区三区在线播放 | 久草视频在线播放 | 中文字幕日韩一区 | 日韩最新网站 | 少妇性l交大片免费一 | 亚洲巨乳自拍在线视频 | 国产精品一区一区三区 | 成人午夜免费视频 | 成人精品一区二区三区中文字幕 | 五月婷婷在线播放 | 国产精品99久久久久久动医院 | 欧美成视频 | 国产一级黄色网 | 精品1区2区 | 国产精品av久久久久久久久久 | 毛片在线免费播放 | 奇米久久久 |