Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Challenge: The Limited Drop Lockdown | Multithreading vs. Multiprocessing
Programación Estructural en Python
Sección 3. Capítulo 7
single

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 lock proporcionado para sincronizar el acceso a la variable compartida hoodies_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_stock y añadir el customer_id a la lista dropped_customers.
  • Al finalizar todos los hilos, exactamente 10 identificadores de clientes deben estar en dropped_customers y hoodies_in_stock debe ser 0.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 7
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

some-alt