我在主线程中实例化了一个对象,我希望异步地在不同的线程中运行其中一个方法。这是我使用的代码:
obj = self._collection[index]
t1 = threading.Thread( target = obj.foo() )
t1.start()
该方法确实执行,但它与主线程同步。
答案 0 :(得分:6)
改为使用t1 = threading.Thread( target = obj.foo )
。
在这种情况下,Thread
构造函数期望对函数的引用...当您传递它obj.foo()
时,您传递的是{em>结果 { {1}}功能。那不是你想要的!传递对函数的引用。