Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Challenge: The Limited Drop Lockdown | Багатопотоковість vs. Багатопроцесність
Структурне програмування на Python
Секція 3. Розділ 7
single

single

Challenge: The Limited Drop Lockdown

Свайпніть щоб показати меню

Завдання

Проведіть, щоб почати кодувати

Відомий бренд випускає лімітовану серію худі, доступно лише 10 одиниць. Є 50 потоків, які імітують клієнтів, що намагаються одночасно купити худі. Ваше завдання — забезпечити, щоб було продано рівно 10 худі, і не більше, використовуючи блокування для запобігання станам гонки.

  • Використовуйте наданий об'єкт lock для синхронізації доступу до спільної змінної hoodies_in_stock.
  • У функції buy_hoodie захоплюйте блокування перед перевіркою та оновленням залишку.
  • Імітуйте обробку платежу, додаючи невелику затримку (наприклад, time.sleep(0.01)) під час утримання блокування.
  • Якщо худі доступний, зменшуйте hoodies_in_stock і додавайте customer_id до списку dropped_customers.
  • Після завершення всіх потоків у списку dropped_customers має бути рівно 10 ідентифікаторів клієнтів, а hoodies_in_stock має дорівнювати 0.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 7
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt