Resolver la sincronización del controlador del sistema Linux y la exclusión mutua

  

La cola de espera de eventos generalmente se usa para la comunicación asíncrona por el controlador de Linux. También se puede llamar la cola de espera correcta de uso del dispositivo de la aplicación. Cuando varios procesos van a operar un dispositivo, la cola de eventos generalmente se usa en este momento.

1, no puede interrumpir la suspensión:

wait_event (cola, condición)

wait_event_interruptible (cola, condición)

Dos funciones solo están en condición True puede despertarse, de lo contrario se quedará en reposo todo el tiempo, es decir, llamar a wake_up () no se activará. Zzzzzzzzzzzzz

2, sueño interrumpible

wait_event_timeout (cola, condición, tiempo de espera)

wait_event_interruptible_timeout (cola, condición, tiempo de espera)

Se puede despertar si la condición se vuelve verdadera o se llama wake_up_interruptible ().

3, función de activación:

void wake_up (wait_queue_head_t * queue); //reactiva todos

void wake_up_interruptible (wait_queue_head_t * queue); //despertador interrumpible

Copyright © Conocimiento de Windows All Rights Reserved