Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Uitdaging: De Beperkte Drop Lockdown | Multithreading vs. Multiprocessing
Python Structureel Programmeren
Sectie 3. Hoofdstuk 7
single

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 variabele hoodies_in_stock te synchroniseren.
  • In de functie buy_hoodie moet 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_stock en voeg de customer_id toe aan de lijst dropped_customers.
  • Nadat alle threads zijn afgerond, moeten er precies 10 klant-ID's in dropped_customers staan en moet hoodies_in_stock gelijk zijn aan 0.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 7
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

some-alt