threading.Thread: Add start=False parameter to start immediately the thread
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
It's common to create multiple threads, start them, and then join them. Example:
threads = [
threading.Thread(target=run_a),
threading.Thread(target=run_b),
]
for thread in threads:
thread.start()
...
for thread in threads:
thread.join()
I propose adding a start=False parameter to threading.Thread to start immediately the thread. The example would become:
threads = [
threading.Thread(target=run_a, start=True),
threading.Thread(target=run_b, start=True),
]
...
for thread in threads:
thread.join()
The new parameter would solve the old issue gh-93293 which requests to return self in start(). The issue example:
threads = []
for i in range(10):
thread = threading.Thread(target=fn, args=(i,))
thread.start()
threads.append(thread)
for t in threads:
t.join()
would become:
threads = [threading.Thread(target=fn, args=(i,), start=True) for i in range(10)]
for t in threads:
t.join()
Linked PRs
- gh-155335
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza revisando el constructor de threading.Thread y el comportamiento de start() y join(), y después inspecciona el trabajo vinculado en gh-155335. Determina la semántica de la API y las implicaciones de compatibilidad de iniciar durante la construcción; se considera completado cuando el uso propuesto funciona correctamente sin cambiar el comportamiento existente de Thread.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- operating-systems
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100