Tyl*_*den 17 python multithreading python-multithreading
t1=threading.Thread(target=self.read())
print "something"
t2=threading.Thread(target=self.runChecks(), args=(self))
Run Code Online (Sandbox Code Playgroud)
self.read
无限期地运行,所以程序将无法到达该print
行.没有打电话t1.start()
怎么可能呢?(即使我打电话给它,它会开始运行并继续下一行,不应该吗?)
小智 22
您将self.read 的结果传递给Thread的目标参数.线程期望传递一个函数来调用,所以只需删除括号并记住启动线程:
t1=threading.Thread(target=self.read)
t1.start()
print "something"
Run Code Online (Sandbox Code Playgroud)