我正在尝试使用以下方法在Python中运行一些简单的线程:
t1 = threading.Thread(analysis("samplequery"))
t1.start()
other code runs in here
t1.join()
不幸的是我收到错误:
“AssertionError:group参数现在必须为none”
我以前从未在Python中实现过线程,所以我有点不确定出了什么问题。有谁知道问题是什么?
我不确定它是否相关,但分析是从另一个文件导入的方法。
我也有一个跟进查询。 Analysis返回一个字典,我将如何分配在原始方法中使用?
由于
答案 0 :(得分:38)
您想要指定target
关键字参数:
t1 = threading.Thread(target=analysis("samplequery"))
你可能打算让analysis
成为目标,但'samplequery
参数在启动时:
t1 = threading.Thread(target=analysis, args=("samplequery",))
Thread()
的第一个参数是group
参数,它目前只接受None
作为参数。
来自threading.Thread()
documentation:
应始终使用关键字参数调用此构造函数。参数是:
- 群组应为
None
;在实施ThreadGroup
课程时保留用于将来的扩展。- target 是
run()
方法调用的可调用对象。默认为None
,表示没有任何内容被调用。
答案 1 :(得分:6)
您需要提供target
属性:
t1 = threading.Thread(target = analysis, args = ('samplequery',))