调用返回函数时的线程错误

时间:2013-05-16 01:57:23

标签: python python-multithreading

我对线程非常新,就像现在一小时一样,但我的代码需要它。我学到了很多东西,可以在我的情况下有效地使用线程,但是我很难理解如何从我的函数中获得返回输出。

这是我的线程调用

threading.Thread(target = self.PageCollectionProcess(option) ).start()

当我尝试返回时,我得到输出

TypeError: 'list' object is not callable
File "/usr/lib/python2.7/threading.py", line 524, in __bootstrap
  self.__bootstrap_inner()
File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
  self.run()
File "/usr/lib/python2.7/threading.py", line 504, in run
  self.__target(*self.__args, **self.__kwargs)

1 个答案:

答案 0 :(得分:1)

您似乎以错误的方式致电Thread

threading.Thread(target = self.PageCollectionProcess(option) ).start()

应该是:

threading.Thread(target=self.PageCollectionProcess, args=(option,)).start()

以这种方式思考 - 在一个非常粗略的概括中,线程有点懒惰;你告诉一个线程要执行什么(一个函数和它的参数),然后线程运行它。