6 4Process 程序間的通訊

2021-10-04 15:21:17 字數 1279 閱讀 7470

q = queue(3)  #初始化乙個queue物件,最多可以接收三條put訊息

q.put('訊息1') #向佇列新增物件

q.put('訊息2')

print(q.full()) #false 佇列沒滿

q.put('訊息3')

print(q.full()) #true 佇列滿了

#因為訊息佇列已滿,下面的try都會丟擲異常,第乙個try會等待2秒再丟擲異常,第二個try會立刻丟擲異常

try:

q.put('訊息4',true,2)

except:

print('訊息佇列已滿,現有訊息數量:%s' %q.qsize())

try:

q.put_nowait('訊息4')

except:

print('訊息佇列已滿,現有訊息數量:%s' % q.qsize())

模擬程序間的通訊

#coding:utf-8

import multiprocessing

def download_from_web(q):

data = [11, 22, 33, 44, 55, 66]

# 向佇列中寫入資料

for temp in data:

q.put(temp)

def analysis_data(q):

'''資料處理'''

# 從列隊中獲取資料

waitting_analysis_data = list() #建立空列表

while true:

data = q.get()

if q.empty():

break

# 模擬資料處理

print(waitting_analysis_data)

def main():

# 1.建立乙個佇列

q = multiprocessing.queue()

# 2.建立多個程序,將佇列的引用當做實參進行傳遞到裡面

p1 = multiprocessing.process(target=download_from_web, args=(q,))

p2 = multiprocessing.process(target=analysis_data, args=(q,))

p1.start()

p2.start()

if __name__ == '__main__':

main()

php程序間通訊 yoc PHP程序間通訊

php是用c編寫的,因此它對系統底層api的操作與c很像,同大多數語言一樣,php程序間通訊的方式有以下幾種 訊息佇列,管道,共享記憶體,socket和訊號。本文是對這幾種通訊方式對整理 管道通訊pipe 管道用於承載簡稱之間的通訊資料。為了方便理解,可以將管道比作檔案,程序a將資料寫到管道p中,然...

程序間的通訊

程序間的通訊就麻煩一些了,訊號的種類就有 種,可以在終端中輸入kill l檢視!就先說幾個今天剛學的吧 sigint,這個訊號是由硬體產生的,比如按下ctrl c時就會產生這個訊號。sigalrm,這個訊號是由alrm unsigned int arg 函式產生的,就是間隔arg秒時間後產生siga...

程序間的通訊

可以用來通訊的有 管道 pipe 管道可用於具有親緣關係程序間的通訊,允許乙個程序和另乙個與它有共同祖先的程序之間進行通訊。命名管道 named pipe 命名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關係程序間的通訊。命名管道在檔案系統中有對應的檔名。命名管道通過...