Sección 3. Capítulo 7
single
Challenge: The Limited Drop Lockdown
Desliza para mostrar el menú
Tarea
Desliza para comenzar a programar
Una reconocida marca lanza una sudadera de edición limitada con solo 10 unidades disponibles. Hay 50 hilos que simulan clientes intentando comprar la sudadera al mismo tiempo. La tarea consiste en asegurar que se vendan exactamente 10 sudaderas y no más, utilizando un bloqueo para evitar condiciones de carrera.
- Utilizar el objeto
lockproporcionado para sincronizar el acceso a la variable compartidahoodies_in_stock. - En la función
buy_hoodie, adquirir el bloqueo antes de comprobar y actualizar el stock. - Simular el procesamiento del pago añadiendo una pequeña demora (por ejemplo,
time.sleep(0.01)) mientras se mantiene el bloqueo. - Si hay una sudadera disponible, decrementar
hoodies_in_stocky añadir elcustomer_ida la listadropped_customers. - Al finalizar todos los hilos, exactamente 10 identificadores de clientes deben estar en
dropped_customersyhoodies_in_stockdebe ser 0.
Solución
¿Todo estuvo claro?
¡Gracias por tus comentarios!
Sección 3. Capítulo 7
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla