0
我試圖瞭解線程(即時通訊新的)以更好地獲得我的代碼。現在,我有一個類的.py文件與一些功能。Python線程問題
在我的主要中,我爲每個程序中的這個類初始化一個對象。但是,使用線程,我希望能夠在一個程序中創建所有這些對象,並使用線程調用該函數。
def inicializa():
clientList = list()
thread_list = list()
config = configparser.ConfigParser()
config.read("accounts.ini")
for section in config.sections(): #define a section da conta que vou usar
email = config.get(section,'email')
password = config.get(section,'password')
the_hash = config.get(section,'hash')
authdata = config.get(section,'authdata')
authdata = eval(authdata)
client = MyClient(email,password,the_hash,authdata)
clientList.append(client)
for client in clientList:
t = threading.Thread(target=client.getBla()) # this function is inside of my class, its work OK outside of the thread if i put client.getBla.
thread_list.append(t)
for thread in thread_list:
thread.start()
return clientList
我得到當我嘗試使用線程啓動功能client.getBla錯誤是:
異常螺紋加工-1: 類型錯誤:int對象是不可調用的。
我的函數dosnt採取任何參數,所以我不知道發生了什麼,因爲我的client.getBla()線程外工作正常。
謝謝大家。
哇,這是一個相當快的答案,我想它的工作。就像我說的那樣,這是我第一次使用線程,是否有任何方法來檢查線程是否同時工作,而不是像「for」? –
@Jefferson做一個簡單的方法就是阻止線程,例如使用'time.sleep()'。如果你在5個不同的線程中執行1秒的睡眠,程序應該在1秒內完成,而不是5秒。 – goncalopp
不知道在哪裏使用time.sleep(),但我會嘗試它。我會很快發佈結果。謝謝。 –