天天看點

python多線程最多能一起開多少個_python – 同時運作多個線程

是以我的目标是讓do_something()函數啟動自己的線程,以便do_something()可以并行運作,而不必等待前一個完成.問題是它似乎不是多線程(意味着一個線程在另一個線程開始之前完成).

for i in range(len(array_of_letters)):

if i == "a":

t = threading.Thread(target=do_something())

print "new thread started : %s"%(str(threading.current_thread().ident))

t.start()

我在do_something()函數中也有一個current_thread().ident,但似乎啟動的線程的辨別與運作python腳本的主線程相同.我認為我的方法不正确.

解決方法:

這是一個常見的,容易出錯的錯誤.

target = do_something()隻是在主線程中一次執行你的函數,并将None(你想要的函數的傳回值)作為目标函數傳遞給線程,它不會觸發任何可見的錯誤;但也沒有做任何事.

你必須傳遞實際的功能而不是結果:

t = threading.Thread(target=do_something)

會更好

标簽:python,multithreading

來源: https://codeday.me/bug/20191002/1844523.html