Sectie 3. Hoofdstuk 7
single
Uitdaging: De Beperkte Drop Lockdown
Veeg om het menu te tonen
Taak
Veeg om te beginnen met coderen
Een bekend merk brengt een limited edition hoodie uit waarvan er slechts 10 beschikbaar zijn. Er zijn 50 threads die klanten simuleren die tegelijkertijd proberen de hoodie te kopen. De opdracht is om ervoor te zorgen dat er precies 10 hoodies worden verkocht en niet meer, door een lock te gebruiken om racecondities te voorkomen.
- Gebruik het meegeleverde
lock-object om de toegang tot de gedeelde variabelehoodies_in_stockte synchroniseren. - In de functie
buy_hoodiemoet de lock worden verkregen voordat de voorraad wordt gecontroleerd en bijgewerkt. - Simuleer de betalingsverwerking door een kleine vertraging toe te voegen (bijvoorbeeld
time.sleep(0.01)) terwijl de lock wordt vastgehouden. - Als er een hoodie beschikbaar is, verlaag dan
hoodies_in_stocken voeg decustomer_idtoe aan de lijstdropped_customers. - Nadat alle threads zijn afgerond, moeten er precies 10 klant-ID's in
dropped_customersstaan en moethoodies_in_stockgelijk zijn aan 0.
Oplossing
Was alles duidelijk?
Bedankt voor je feedback!
Sectie 3. Hoofdstuk 7
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.