Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Challenge: Den Begrensede Slipp-Nedstengningen | Multithreading vs. Multiprocessing
Python Strukturert Programmering
Seksjon 3. Kapittel 7
single

single

Challenge: Den Begrensede Slipp-Nedstengningen

Sveip for å vise menyen

Oppgave

Sveip for å begynne å kode

Et kjent merke lanserer en limited edition hettegenser med kun 10 tilgjengelige. Det er 50 tråder som simulerer kunder som prøver å kjøpe hettegenseren samtidig. Din oppgave er å sørge for at nøyaktig 10 hettegensere blir solgt, og ikke flere, ved å bruke en lås for å forhindre kappløpsforhold.

  • Bruk det oppgitte lock-objektet for å synkronisere tilgangen til den delte variabelen hoodies_in_stock.
  • I funksjonen buy_hoodie, tilegn deg låsen før du sjekker og oppdaterer lagerbeholdningen.
  • Simuler betalingsbehandling ved å legge til en liten forsinkelse (f.eks. time.sleep(0.01)) mens låsen holdes.
  • Hvis en hettegenser er tilgjengelig, reduser hoodies_in_stock og legg til customer_id i listen dropped_customers.
  • Etter at alle trådene er ferdige, skal nøyaktig 10 kunde-IDer være i dropped_customers, og hoodies_in_stock skal være 0.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 7
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

some-alt