Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Challenge: The Limited Drop Lockdown | Multithreading vs. Multiprocessing
Pythonin Rakenteellinen Ohjelmointi
Osio 3. Luku 7
single

single

Challenge: The Limited Drop Lockdown

Pyyhkäise näyttääksesi valikon

Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Tunnettu brändi julkaisee rajoitetun erän huppareita, joita on saatavilla vain 10 kappaletta. 50 säiettä simuloivat asiakkaita, jotka yrittävät ostaa hupparin samanaikaisesti. Tehtävänäsi on varmistaa, että myydään tarkalleen 10 hupparia eikä yhtään enempää, käyttämällä lukkoa estämään kilpajuoksutilanteet.

  • Käytä annettua lock-objektia synkronoimaan pääsy jaettuun muuttujaan hoodies_in_stock.
  • buy_hoodie-funktiossa ota lukko haltuun ennen varaston tarkistamista ja päivittämistä.
  • Simuloi maksun käsittelyä lisäämällä pieni viive (esim. time.sleep(0.01)) lukon ollessa hallussa.
  • Jos huppari on saatavilla, vähennä hoodies_in_stock-arvoa ja lisää customer_id listaan dropped_customers.
  • Kun kaikki säikeet ovat valmiit, listassa dropped_customers tulee olla tarkalleen 10 asiakas-ID:tä ja hoodies_in_stock arvon tulee olla 0.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 7
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

some-alt