在Python中使用线程时出现AssertionError
我正在尝试在Python中运行一些简单的线程操作,使用的是:
t1 = threading.Thread(analysis("samplequery"))
t1.start()
other code runs in here
t1.join()
但是我遇到了一个错误:
"AssertionError: group argument must be none for now"
我之前从来没有在Python中实现过线程,所以我有点不确定问题出在哪里。有没有人知道这是怎么回事?
我不确定这是否相关,但分析是从另一个文件导入的方法。
我还有一个后续问题。分析返回的是一个字典,我该如何将它赋值以便在原来的方法中使用呢?
谢谢
2 个回答
9
你需要提供 target
属性:
t1 = threading.Thread(target = analysis, args = ('samplequery',))
90
你需要指定 target
这个关键字参数:
t1 = threading.Thread(target=analysis("samplequery"))
你可能是想把 analysis
作为运行的目标,但 'samplequery
是在启动时的参数:
t1 = threading.Thread(target=analysis, args=("samplequery",))
在 Thread()
中,第一个参数是 group
,目前它只接受 None
作为参数。
这个构造函数应该始终使用关键字参数来调用。参数包括:
- group 应该是
None
;这个参数是为将来扩展保留的,当实现ThreadGroup
类时会用到。- target 是要通过
run()
方法调用的可调用对象。默认值是None
,这意味着什么都不会被调用。