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()
logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus