在Python中进行线程化时的AssertionError

djc*_*476 27 python multithreading

我正在尝试使用Python运行一些简单的线程:

t1 = threading.Thread(analysis("samplequery"))
t1.start()

other code runs in here

t1.join()
Run Code Online (Sandbox Code Playgroud)

不幸的是我收到了错误:

"AssertionError:group参数现在必须为none"

我之前从未在Python中实现过线程,所以我有点不确定出了什么问题.有谁知道问题是什么?

我不确定它是否相关,但分析是从另一个文件导入的方法.

我也有一个跟进查询.Analysis返回一个字典,我将如何分配在原始方法中使用?

谢谢

Mar*_*ers 42

您想要指定target关键字参数:

t1 = threading.Thread(target=analysis("samplequery"))
Run Code Online (Sandbox Code Playgroud)

您可能打算创建analysis运行目标,但启动时'samplequery参数:

t1 = threading.Thread(target=analysis, args=("samplequery",))
Run Code Online (Sandbox Code Playgroud)

第一个参数Thread()group参数,它目前只接受None参数.

threading.Thread()文档:

应始终使用关键字参数调用此构造函数.参数是:

  • 小组应该None; 在实现ThreadGroup类时为将来的扩展保留.
  • targetrun()方法调用的可调用对象.默认为None,意味着什么都没有被调用.


g.d*_*d.c 6

您需要提供以下target属性:

t1 = threading.Thread(target = analysis, args = ('samplequery',))
Run Code Online (Sandbox Code Playgroud)