Multithreading
4 h
5 exercices
Niveau 9
Énoncé
Créez plusieurs threads pour traiter les données dans une file d'attente de manière concurrente.
Exemple de Code
import queue
import threading
data_queue = queue.Queue()
NUM_WORKERS = 3
def worker():
while True:
item = data_queue.get()
if item is None:
break
print(f"Traitement de l'élément: {item}")
data_queue.task_done()
# Démarrer les workers
threads = []
for _ in range(NUM_WORKERS):
t = threading.Thread(target=worker)
t.start()
threads.append(t)
# Ajouter des données dans la file d'attente
for item in range(10):
data_queue.put(item)
# Attendre que la file d'attente soit vide
data_queue.join()
# Arrêter les workers
for i in range(NUM_WORKERS):
data_queue.put(None)
for t in threads:
t.join()
Besoin d'aide ?
Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !