tutorial threading thread manager library example current_thread and python multithreading

threading - AssertionError al enhebrar en Python



python thread wait example (2)

Estoy tratando de ejecutar algunos subprocesos simples en Python usando:

t1 = threading.Thread(analysis("samplequery")) t1.start() other code runs in here t1.join()

Lamentablemente me sale el error:

"AssertionError: el argumento del grupo debe ser ninguno por ahora"

Nunca he implementado subprocesos en Python antes, así que no estoy muy seguro de lo que está mal. ¿Alguien tiene alguna idea de cuál es el problema?

No estoy seguro de que sea relevante, pero el análisis es un método importado de otro archivo.

También tuve una consulta de seguimiento. El análisis devuelve un diccionario, ¿cómo hago para asignar eso para uso en el método original?

Gracias


Debe proporcionar el atributo de target :

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


Desea especificar el parámetro de palabra clave de target lugar:

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

Probablemente quiso hacer que el analysis el objetivo de ejecución, pero ''samplequery el argumento cuando se inició :

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

El primer parámetro de Thread() es el argumento de group , y actualmente solo acepta None como argumento.

De la documentación de threading.Thread() :

Este constructor siempre debe llamarse con argumentos de palabras clave. Los argumentos son:

  • el grupo debe ser None ; Reservado para futuras extensiones cuando se implemente una clase ThreadGroup .
  • target es el objeto invocable que debe invocar el método run() . Por defecto, None , lo que significa que nada se llama.