私のコードをより良くするために、スレッドを理解しようとしています(私はそれが初めてです)。今のところ、いくつかの関数を含む .py ファイルにクラスがあります。
私のメインでは、私が持っている各プログラムでこのクラスのオブジェクトを初期化します。しかし、スレッドでは、このすべてのオブジェクトを 1 つのプログラムで作成し、スレッドで関数を呼び出すことができるようにしたいと考えています。
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 を開始しようとすると発生するエラーは次のとおりです。
スレッド Thread-1 の例外: TypeError: int オブジェクトは呼び出し可能ではありません。
私の関数は引数を取らないので、スレッドの外側で client.getBla() が正常に動作するため、何が起こっているのかわかりません。
皆さん、ありがとうございました。