多程序 多程序queue

2022-07-26 19:12:10 字數 1914 閱讀 8241

多程序

import

multiprocessing

import

threading

import

time

defthread_run():

print

(threading.get_ident())

defrun(name):

time.sleep(2)

print('

hello

', name)

t = threading.thread(target=thread_run(),)#

啟動乙個執行緒

t.start()

if__name__ == '

__main__':

for i in range(10):

p = multiprocessing.process(target=run, args=('

bob %s

'%i,))#

啟動10個程序

p.start()

#p.join()

多程序queue

現在了解一下多程序queue

import

multiprocessing

deffunc(q):

q.put([42,none,"

hello

"])#

子程序在程序queue放了資料

if__name__ == '

__main__':

q = multiprocessing.queue()#

生成乙個程序queue,q

p = multiprocessing.process(target=func,args=(q,))#

建立乙個程序p,把程序queue作為引數傳遞給程序p

p.start()#

啟動程序

print(q.get())#

在父程序中顯示子程序的資料

另一程序間資料傳遞的例子

import

multiprocessing

deffunc(q):

q.put([42,none,"

hello

"])#

子程序p1在程序queue放了第一組資料

q.put([43,none,"

hello

"])#

子程序p1在程序queue放了第二組資料

deffunc2(q):

print(q.get())#

取出q中的資料

if__name__ == '

__main__':

q = multiprocessing.queue()#

生成乙個程序queue,q

p1 = multiprocessing.process(target=func,args=(q,))#

建立乙個程序p1,執行func函式,並把程序queue作為引數傳遞給程序p

p2 = multiprocessing.process(target=func2,args=(q,))#

建立乙個程序p2,執行func2函式,並把程序queue作為引數傳遞給程序p

p1.start()#

啟動程序p1

p2.start()#

啟動程序p2

print('--->',q.get())#在父程序中顯示子程序的資料

例子中主程序和p2子程序都可以從q中獲得,p1子程序存入的資料

d:\7_python\python37\python.exe d:/7_python/s14/其他/aaaa.py

---> [42, none, '

hello']

[43, none, '

hello

']

Python 多程序程序池Queue程序通訊

from multiprocessing import pool,manager import time defhanshu queue,a n 1 while n 50 print r正在工作 d a,end n 1 步驟3 往佇列中傳送一條訊息 queue.put a time.sleep 2 ...

python多程序 python多程序

當有多個非相關任務需要處理時,並行能大大提高處理速度。這裡簡要介紹python的multiprocessing模組。簡單多程序編寫 當我們任務數量確定而且比較少的時候,可以手動為每個任務指定乙個程序來執行。import multiprocessing as mp def f a print a if...

Python多程序之Queue管道

from multiprocessing import process,queue 匯入程序的佇列模組,跟執行緒裡的是不一樣 deff q q.put 42,none,hello q.put test if name main 生成乙個佇列,然後將佇列傳給子程序,然後父程序就可以訪問這個子程序操作後...