@程序間通訊:
1.之前學過socket,完成客戶端與伺服器的通訊
2.通過佇列完成程序之間的通訊:
1
import multiprocessing
23 def send_msg
(q):4""
"傳送資料"
""5 data=[11
,22,33
,44]6
for temp in data:
7 q.
put(temp)
8print()
910 def analysis_data
(q):
11 analysis_list=
list()
12while true:
13 data=q.
get(
)14 analysis_list.
(data)
15if q.
empty()
:16break
17print
(analysis_list)
1819 def main()
:20 q=multiprocessing.
queue()
21 q1=multiprocessing.
process
(target=send_msg,args=
(q,)
)22 q2=multiprocessing.
process
(target=analysis_data,args=
(q,)
)23 q1.
start()
24 q2.
start()
25if __name__==
"__main__":26
main()
通過程序池進行程序間的通訊
1from multiprocessing import pool
2import os,time,random
34 def worker
(msg)
:5 t_start=time.
time()
6print
("%s程序開始執行,程序號為%d"
%(msg,os.
getpid()
))7 time.
sleep
(random.
random()
*2)8 t_stop=time.
time()
9print
(msg,
"程序%0.2f執行完畢"
%(t_stop-t_start))10
11 def main()
:12 po=
pool(3
)13for i in
range(0
,10):
14 po.
(worker,
(i,))15
16print
("----start-----"
)17 po.
close
() #關閉程序池,關閉後程序不再接受新的請求
18 po.
join
() #等待po中所有子程序執行完成,必須放在close後
19print
("----stop------")20
2122
if __name__==
"__main__":23
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 命名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關係程序間的通訊。命名管道在檔案系統中有對應的檔名。命名管道通過...