不可调用的字符串

时间:2019-01-25 16:42:35

标签: python-3.x windows multithreading

我正在使用线程加速我的进程,但是它说我的线程不可调用。 代码:

thread1 = threading.Thread(target=next_word())
thread2 = threading.Thread(target=get_word())
thread1.start()
thread2.start()

错误是这样的:

  

线程Thread-1中的异常:   追溯(最近一次通话):     _bootstrap_inner中的第914行“ C:\ Users \ Tom \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ threading.py”文件       self.run()     运行中的文件“ C:\ Users \ Tom \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ threading.py”,行862       self._target(* self._args,** self._kwargs)   TypeError:“ str”对象不可调用

如果您能提供全部帮助,那我将不知道我的代码有什么问题。我知道有两个错误,但是它们是相同的,因此通过修复一个,可以修复另一个。 预先谢谢你。

1 个答案:

答案 0 :(得分:1)

应该为Thread提供一个函数作为目标。

虽然next_word是一个函数,但next_word()不是。相反,它是函数的结果,可能是字符串。

所以发生了什么事,您的Thread将调用next_word()(),即"a string"()显然没有意义,因为无法调用字符串,因此您的{{1} }。

修复:

TypeError: 'str' object is not callable