Section 3. Chapitre 7
single
Défi : Le Confinement à Goutte Limitée
Glissez pour afficher le menu
Tâche
Glissez pour commencer à coder
Une marque célèbre lance un hoodie en édition limitée avec seulement 10 exemplaires disponibles. Cinquante threads simulent des clients essayant d’acheter le hoodie simultanément. L’objectif est de garantir que exactement 10 hoodies soient vendus, pas plus, en utilisant un verrou pour éviter les conditions de concurrence.
- Utiliser l’objet
lockfourni pour synchroniser l’accès à la variable partagéehoodies_in_stock. - Dans la fonction
buy_hoodie, acquérir le verrou avant de vérifier et de mettre à jour le stock. - Simuler le traitement du paiement en ajoutant un court délai (par exemple,
time.sleep(0.01)) tout en maintenant le verrou. - Si un hoodie est disponible, décrémenter
hoodies_in_stocket ajouter lecustomer_idà la listedropped_customers. - Après l’exécution de tous les threads, exactement 10 identifiants clients doivent figurer dans
dropped_customers, ethoodies_in_stockdoit être égal à 0.
Solution
Tout était clair ?
Merci pour vos commentaires !
Section 3. Chapitre 7
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion