簡體   English   中英

使用 Python 中的“線程”和“隊列”模塊同時在兩個函數之間運行和共享數據

[英]Running & sharing data between two functions simultaneously using "threading" & "queue" module in Python

我有兩個 function(func_1 和 func_2)。 我想同時運行這兩個函數,但使用“線程”模塊在不同的線程中。 現在我想遞歸地使用從 func_1 到 func_2 的結果。 例如,func_1 不斷從網站下載圖像並將這些圖像發送到 func_2,然后 func_2 不斷處理這些圖像並將這些處理后的圖像保存在本地驅動器中。 這就是我的目標。 我是 Python 的新手,所以有人可以解釋一下怎么做。 我有一些示例程序,以便清楚我要做什么。 謝謝。

def func_1():
    while True:
        #downloading images from net & sends to func_2

def func_2():
    #getting result from func_1 and process them recursively

t1=threading.Thread(target=func_1)
t2=threading.Thread(target=func_2)

羅伊,

我自己不是最大的線程專家,但我想強調您問題中的某些部分,這些部分不清楚或虛假(對我個人而言):

現在我想遞歸地使用從 func_1 到 func_2 的結果。

這不是遞歸,而是所謂的生產者-消費者或某種類型的同步線程。 更准確地說,我查看了merriam-webster中的精確遞歸定義:

涉及或構成可以無限重復的程序

在這種情況下,這不是純粹的含義。

func_1 不斷地從網站下載圖像並將這些圖像發送到 func_2,然后 func_2 不斷地處理這些圖像。

這是否意味着您的thread1不應該等待thread2中的成功處理? 如果是這樣,我建議您查看Producer-Consumer下的此頁面

其實整篇文章在我看來都很好,祝你好運:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM