Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
940 views
in Technique[技术] by (71.8m points)

multithreading - AssertionError when threading in Python

I'm trying to run some simple threading in Python using:

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

other code runs in here

t1.join()

Unforunately I'm getting the error:

"AssertionError: group argument must be none for now"

I've never implemented threading in Python before, so I'm a bit unsure as to what's going wrong. Does anyone have any idea what the problem is?

I'm not sure if it's relevant at all, but analysis is a method imported from another file.

I had one follow up query as well. Analysis returns a dictionary, how would I go about assigning that for use in the original method?

Thanks

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You want to specify the target keyword parameter instead:

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

You probably meant to make analysis the run target, but 'samplequery the argument when started:

t1 = threading.Thread(target=analysis, args=("samplequery",))

The first parameter to Thread() is the group argument, and it currently only accepts None as the argument.

From the threading.Thread() documentation:

This constructor should always be called with keyword arguments. Arguments are:

  • group should be None; reserved for future extension when a ThreadGroup class is implemented.
  • target is the callable object to be invoked by the run() method. Defaults to None, meaning nothing is called.

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...