程序間的通訊

2021-10-09 15:50:17 字數 1845 閱讀 3124

@程序間通訊:

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