Las ventajas de la espera ocupada es que generalmente es mucho más rápido. Por otro lado, no está permitiendo que nada más se ejecute durante el tiempo que espera que se libere el bloqueo. Por lo tanto, no puede usar bloqueos de giro en un sistema de procesador uni. Por otro lado, dormir y despertar utilizan la CPU de una mejor manera y pueden usarse tanto en SMP como en UP. Sin embargo, dado que hay muchos gastos generales involucrados en solicitar el bloqueo, irse a dormir y ser despertado nuevamente cuando el recurso está disponible, no es realmente adecuado para la corta duración de la adquisición del bloqueo. Hay un enfoque híbrido que comprueba (mientras gira) si el bloqueo que está intentando adquirir está siendo utilizado por otro hilo que se está ejecutando actualmente y esperará ‘no’. de ciclos antes de dormir. Si la duración del tiempo excede el límite, se irá a dormir esperando a ser despertado.
¿Cuáles son las ventajas y desventajas de los enfoques de espera ocupada y sueño y vigilia para la exclusión mutua con respecto al kernel de Linux?
Related Content
¿Qué algoritmo es bueno para fusionar notificaciones similares en los servicios sociales?
¿Cómo está negando este código todos los números en mi matriz?
¿Qué es un algoritmo basado en población? ¿Cuál es el propósito de esto?
More Interesting
¿Qué es una explicación intuitiva de inserción en un árbol AVL?
Cómo encontrar subrangos no decrecientes y no crecientes en una matriz
¿Por qué SuperMemo no es tan fácil de usar como Anki?
¿Cuál es el algoritmo de programación más eficiente?
Cómo analizar el código para encontrar la complejidad del algoritmo
¿Qué algoritmos son más importantes para un concursante de ACM ICPC?
¿Cómo se usa el hashing para la integridad?
¿Por qué un árbol de segmentos necesita una matriz de tamaño 4n? ¿Por qué no 2n-1?