自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python中多進(jìn)程—Join方法使用、進(jìn)程鎖及進(jìn)程間通信

開發(fā) 后端
本篇給大家介紹Python中多進(jìn)程,Join方法使用、進(jìn)程鎖及進(jìn)程間通信。

[[352802]]

 大綱

  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í)間最長的那個(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.  
  5. def work(lock): 
  6.     # 獲取鎖 
  7.     lock.acquire() 
  8.     print('{0} is 開始工作'.format(os.getpid())) 
  9.     time.sleep(2) 
  10.     print('{0} is 結(jié)束工作'.format(os.getpid())) 
  11.     # 釋放鎖 
  12.     lock.release() 
  13.  
  14. lock = Lock() 
  15. for i in range(3): 
  16.     p = Process(target=work,args=(lock,)) 
  17.     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示例

 

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2017-08-06 00:05:18

進(jìn)程通信開發(fā)

2013-03-28 13:14:45

AIDL進(jìn)程間通信Android使用AI

2018-01-12 14:35:00

Linux進(jìn)程共享內(nèi)存

2017-06-19 13:36:12

Linux進(jìn)程消息隊(duì)列

2010-01-05 10:00:48

Linux進(jìn)程間通信

2017-06-30 10:12:46

Python多進(jìn)程

2019-11-08 14:47:49

TCPIP網(wǎng)絡(luò)

2020-11-04 07:17:42

Nodejs通信進(jìn)程

2011-06-22 17:09:50

QT 進(jìn)程 通信

2024-03-29 06:44:55

Python多進(jìn)程模塊工具

2024-08-26 08:39:26

PHP孤兒進(jìn)程僵尸進(jìn)程

2024-01-03 10:17:51

Linux通信

2021-02-25 11:19:37

谷歌Android開發(fā)者

2019-05-08 11:10:05

Linux進(jìn)程語言

2018-05-30 13:58:02

Linux進(jìn)程通信

2011-06-24 14:01:34

Qt QCOP 協(xié)議

2010-07-15 12:51:17

Perl多進(jìn)程

2022-03-09 17:01:32

Python多線程多進(jìn)程

2019-05-13 10:00:41

Linux進(jìn)程間通信命令

2024-05-23 08:24:11

Android進(jìn)程開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)