0

私の GUI には、別のプログラムと通信するため、完了するまでに時間がかかる機能があります。GUI での作業を再開する前に毎回完了するのを待ちたくないので、この関数をスレッドとして開始したいと考えています。

私はこのようにしてみました:

threading.Thread(target=self.Sweep, args=Input).start()

しかし、それは何もしていません。例外も結果もありません。関数を正常に開始すると、正常に動作します

self.Sweep(Input)

ここで何が間違っていますか?

4

3 に答える 3

0

このthreadingモジュールは、同等の Java と同じように使用することを意図しています。

を使おうとしていると思いますthread。これを試して:

thread.start_new_thread(someFunc, ())

に関するヘルプはこちらから入手できますthread.start_new_thread

于 2013-04-24T09:52:42.597 に答える
0

問題を解決するのに十分かどうかはわかりませんが、少なくとも引数を作成する必要があります

args=(Input,)

「直接」呼び出しと一致させるためです。

argsパラメーターThread()は、関数のすべての引数を持つタプルであることが期待されtargetます。引数が 1 つなのでInput、これを表すにはこのタプルを一致させる必要があります。

于 2013-04-24T09:50:52.220 に答える