日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Python中多進(jìn)程—Join方法使用、進(jìn)程鎖及進(jìn)程間通信

 大綱

  1. join方法使用
  2. 進(jìn)程鎖
  3. 進(jìn)程間通信

Process對(duì)象中的join方法

join方法表示等待子進(jìn)程結(jié)束后再繼續(xù)往下運(yùn)行,通常用于進(jìn)程間的同步,等待的總時(shí)間是子進(jìn)程中耗費(fèi)時(shí)間最長(zhǎng)的那個(gè)進(jìn)程運(yùn)行的時(shí)間。

join方法演示

對(duì)比一下兩種不同結(jié)果

進(jìn)程鎖

并發(fā)運(yùn)行時(shí)會(huì)出現(xiàn)同時(shí)操作一個(gè)文件時(shí)候,這時(shí)候會(huì)出現(xiàn)操作文件內(nèi)容混亂,需要加入鎖機(jī)制,由并發(fā)變成了串行。

 
 
 
 
  1. import time
  2. import os
  3. from multiprocessing import Process, Lock
  4. def work(lock):
  5.     # 獲取鎖
  6.     lock.acquire()
  7.     print('{0} is 開始工作'.format(os.getpid()))
  8.     time.sleep(2)
  9.     print('{0} is 結(jié)束工作'.format(os.getpid()))
  10.     # 釋放鎖
  11.     lock.release()
  12. lock = Lock()
  13. for i in range(3):
  14.     p = Process(target=work,args=(lock,))
  15.     p.start()

加入鎖機(jī)制變成串行時(shí)運(yùn)行結(jié)果

進(jìn)程間通信

在父進(jìn)程中創(chuàng)建兩個(gè)子進(jìn)程,一個(gè)往Queue里寫數(shù)據(jù),一個(gè)從Queue里讀數(shù)據(jù)

Queue示例


本文題目:Python中多進(jìn)程—Join方法使用、進(jìn)程鎖及進(jìn)程間通信
當(dāng)前網(wǎng)址:http://www.5511xx.com/article/dhodjsd.html