Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Challenge: The Limited Drop Lockdown | Multithreading vs. Multiprocessing
Python Strukturel Programmering
Sektion 3. Kapitel 7
single

single

Challenge: The Limited Drop Lockdown

Stryg for at vise menuen

Opgave

Swipe to start coding

Et kendt mærke lancerer en limited edition hættetrøje med kun 10 tilgængelige eksemplarer. Der er 50 tråde, der simulerer kunder, som forsøger at købe hættetrøjen samtidig. Din opgave er at sikre, at præcis 10 hættetrøjer bliver solgt og ikke flere, ved at bruge en lås til at forhindre race conditions.

  • Brug det medfølgende lock-objekt til at synkronisere adgangen til den delte variabel hoodies_in_stock.
  • I funktionen buy_hoodie skal du erhverve låsen, før du tjekker og opdaterer lagerbeholdningen.
  • Simulér betalingsprocessen ved at tilføje en kort forsinkelse (f.eks. time.sleep(0.01)) mens låsen holdes.
  • Hvis en hættetrøje er tilgængelig, skal du nedskrive hoodies_in_stock og tilføje customer_id til listen dropped_customers.
  • Når alle tråde er færdige, skal der være præcis 10 kunde-ID'er i dropped_customers, og hoodies_in_stock skal være 0.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 7
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt