python中程序資源共享之queue

2021-09-01 20:58:38 字數 1178 閱讀 4348

在python中程序之間可以用queue佇列實現共享資源。

基本方法:

queue.queue(maxsize=0) fifo, 如果maxsize小於1就表示佇列長度無限

queue.lifoqueue(maxsize=0) lifo, 如果maxsize小於1就表示佇列長度無限

queue.qsize() 返回佇列的大小

queue.empty() 如果隊列為空,返回true,反之false

queue.full() 如果佇列滿了,返回true,反之false

queue.get([block[, timeout]]) 讀佇列,timeout等待時間

queue.put(item, [block[, timeout]]) 寫佇列,timeout等待時間

queue.queue.clear() 清空佇列

其實python中queue實現了兩個程序之間資源的共享。乙個程序可以存資料,另外乙個程序可以從其中拿資料。實現**如下:

import multiprocessing

import time

#建立乙個queue佇列作為容器

q = multiprocessing.queue()

def put(num):

i = 0

while i<= num:

#向佇列中新增數字

q.put(i)

i += 1

time.sleep(1)

def get():

while true:

#取出佇列中的數字

num = q.get()

time.sleep(1)

print(num)

#若佇列的數字已經去完,則退出迴圈

if q.empty():

break

def main():

#建立連個程序

p_put = multiprocessing.process(target=put,args=(10,))

p_get = multiprocessing.process(target=get)

#開啟這兩個程序

p_get.start()

p_put.start()

if __name__ == '__main__':

main()

Python實現程序資源共享

程序是cpu最小的資源分配的單位。程序之間的資源是不能共享的。但是執行緒之間的資源可以是共享的。下面簡單的介紹兩種方法實現程序之間資源的共享。1 queue 方法 usr bin envpython coding utf 8 from multiprocessing import process,q...

程序的資源共享

程序是放到記憶體中的,程序中所有的計算過程都是需要在cpu處理的。當有多個程序都需要使用共享資源的時候就需要借助乙個中間過程 臨界區 臨界區的使用原則 空則讓進,忙則等待,等則有限,等則讓權 當共享資源沒有被使用的時候就將某個需要使用的程序放到臨界區中,在這段時間中只能是臨界區中的程序可以使用共享資...

Nodejs實現父程序與子程序資源共享

實驗目標 實現父程序與子程序間資源共享 使用模組 cluster 簡介 建立node 集群,實現多程序,利用 child process 來實現ipc 解決多核利用率 提高效能。原理 1 master worker主從模式的多程序架構 2 fork 複製程序,充分利用 cpu資源 根據核心數決定 3...