python中的進程

1、進程

  • 運行起來的程序尔艇,叫進程尔许。
  • 運行程序時,先加載在內(nèi)存终娃,然后告訴OS要做什么操作味廊。
  • 進程創(chuàng)建多任務(wù),占用資源相當(dāng)大棠耕。進程就是在原基礎(chǔ)上copy一份主進程資源余佛。
import multiprocessing
   #創(chuàng)建對象
def test1():pass
def test2():pass
def main():
    p1 = multiprocessing.Process(target=test1)
    p2 = multiprocessing.Process(target=test2)
    #新的進程創(chuàng)建
    p1.start()
    p2.start()
main()
  • 資源能共享的共享,實在不能共享的再copy一份窍荧。即:寫時拷貝
  • 進程占用資源大衙熔,線程占用資源小

2、進程搅荞、線程對比

  • 進程:實現(xiàn)多任務(wù),資源及代碼總稱红氯,進程是資源分配的單位。一個進程里面至少有一個主線程咕痛。進程間不共享全局變量痢甘,互相獨立。
  • 線程:實現(xiàn)多任務(wù)茉贡,先有進程再有線程塞栅。真正實現(xiàn)任務(wù)的是線程。線程是操作系統(tǒng)調(diào)度的單位

3腔丧、進程間的通信

  • socket
  • 文件
  • 隊列Queue放椰,先進先出作烟。
    耦合度越高,程序越不好砾医,越低越好拿撩。通過隊列解耦,實現(xiàn)進程間通信如蚜。
    Queue只能一個程序压恒,一個電腦里面實現(xiàn)進程間通信,還不能跨電腦错邦。以后使用redis探赫,實現(xiàn)分布式。
import multiprocessing
from multiprocessing import Queue

def write(q):
    data = [1,2,3,4]
    #數(shù)據(jù)放入隊列
    for i in data:
        q.put(i)

    print("數(shù)據(jù)放入隊列中")

def read(q):
    #取數(shù)據(jù)
    readlist = list()
    while True:
        data = q.get()
        readlist.append(data)
        if q.empty():
            break

    print("數(shù)據(jù)從隊列中取出:",readlist)

def main():
    #創(chuàng)建一個隊列撬呢,隊列長度5000
    q = Queue(5000)

    #創(chuàng)建多個進程伦吠,將隊列的引用當(dāng)做實參進行傳遞
    p1 = multiprocessing.Process(target=write,args=(q,))
    p2 = multiprocessing.Process(target=read,args=(q,))
    #新的進程創(chuàng)建
    p1.start()
    p2.start()

if __name__ == '__main__':
    main()

4、進程池Pool

  • 進程池是一個特殊容器魂拦,容納很多進程毛仪。
  • 程序的創(chuàng)建和銷毀會花大量時間和資源,所以進程池就可以解決這一問題晨另。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末潭千,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子借尿,更是在濱河造成了極大的恐慌刨晴,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件路翻,死亡現(xiàn)場離奇詭異狈癞,居然都是意外死亡,警方通過查閱死者的電腦和手機茂契,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門蝶桶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人掉冶,你說我怎么就攤上這事真竖。” “怎么了厌小?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵恢共,是天一觀的道長。 經(jīng)常有香客問我璧亚,道長讨韭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮透硝,結(jié)果婚禮上狰闪,老公的妹妹穿的比我還像新娘。我一直安慰自己濒生,他們只是感情好埋泵,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著甜攀,像睡著了一般秋泄。 火紅的嫁衣襯著肌膚如雪琐馆。 梳的紋絲不亂的頭發(fā)上规阀,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音瘦麸,去河邊找鬼谁撼。 笑死,一個胖子當(dāng)著我的面吹牛滋饲,可吹牛的內(nèi)容都是我干的厉碟。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼屠缭,長吁一口氣:“原來是場噩夢啊……” “哼箍鼓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起呵曹,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤款咖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后奄喂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铐殃,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年跨新,在試婚紗的時候發(fā)現(xiàn)自己被綠了富腊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡域帐,死狀恐怖赘被,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情肖揣,我是刑警寧澤民假,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站许饿,受9級特大地震影響阳欲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一球化、第九天 我趴在偏房一處隱蔽的房頂上張望秽晚。 院中可真熱鬧,春花似錦筒愚、人聲如沸赴蝇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽句伶。三九已至,卻和暖如春陆淀,著一層夾襖步出監(jiān)牢的瞬間考余,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工轧苫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留楚堤,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓含懊,卻偏偏與公主長得像身冬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子岔乔,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355