Секція 3. Розділ 7
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.
Рішення
Все було зрозуміло?
Дякуємо за ваш відгук!
Секція 3. Розділ 7
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат