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 claseThreadGroup
.- target es el objeto invocable que debe invocar el método
run()
. Por defecto,None
, lo que significa que nada se llama.