python多執行緒怎樣執行函式,pythonthreading模組,生成多執行緒之後,怎麼得到執行緒執行完成後return出的字串呢?

2021-03-04 02:29:24 字數 1057 閱讀 3259

1樓:匿名使用者

正常執行 但是執行緒執行狀態不受函式的控制

2樓:紅樓解人

import threading

threads =

啟動多執行緒

if __name__ == '__main__':

for t in threads:

t.setdaemon(true)

t.start()

t.join()

更多詳細操作help(threading)

python threading模組,生成多執行緒之後,怎麼得到執行緒執行完成後return出的字串呢?

3樓:匿名使用者

多執行緒bai/多程序都是通訊或者回du調,而不是直接返回結果。這zhi個很容dao易理解的,因為如果你用返回回結果答

來給一個變數賦值,你就必須等待這個函式結束,你這個程式就阻塞了,這就失去了多執行緒/多程序防止阻塞的意義了。

通訊可以是事件驅動或者用執行緒安全的資料結構來傳遞資料(比如queue,也可以是訊息佇列0mq,rabbitmq之類),**就是你一個程式執行完成後呼叫另外一個函式來處理接下來怎麼做。

4樓:匿名使用者

你先建立一個

抄queue,把queue當引數給你的baimythread,然後mythread不要返回du值,而是put在queue裡面。

zhi在for i in threads裡用queue.get取出來。queue是thread safe的,可以dao放心用。

5樓:匿名使用者

定義一個全域性變數存放每個執行緒的返回值。

6樓:匿名使用者

class mythread(threading.thread):

def __init__(self):

self.ret = none

def start(self):

pass

def run(self):

self.ret = ...

多執行緒python和多程序的區別

多程序共享資源必然會帶來程序間相互競爭。而這種競爭又會造成race condition,我們的結果有可能被競爭的不確定性所影響。但如果需要,我們依然可以通過共享記憶體和manager物件這麼做。python多程序和多執行緒的區別 多執行緒指的是一復個程序有多個線制 程執行,執行緒之bai間能夠共用資...

python中如何對類的成員函式開啟執行緒?

coding utf 8 import threading import thread import time class test object def init self machao def process self args是關鍵字引數,需要加上名字,寫成args self,th1 args...

python呼叫函式時,為什麼不執行函式

test 後邊加個括bai號 這種語法上也 du並沒有說確確的錯zhi誤 dao不同的編譯會有所 回不同,一般會提示.不過答大多編譯會把它當成申明給跳過了,因為你沒加括號,並沒呼叫函式 編譯時大多也會提示一下的 python def 函式不能被呼叫 你的del刪除的是函式的形參x,刪除的不是作為實參...