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 命名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關係程序間的通訊。命名管道在檔案系統中有對應的檔名。命名管道通過...