Attente passive

Un article de Wikipédia, l'encyclopédie libre.

L'attente passive est à comparer à l'attente active. Lorsqu'un thread souhaite acquérir un mutex, il arrive soit à l'acquérir, soit il doit attendre pour pouvoir y arriver. Dans ce deuxième cas, le thread doit attendre. S'il y a utilisation d'attente passive, alors le (ou les) thread n'utilise pas de temps processeur en attendant de pouvoir entrer dans la section critique.

L'utilisation de l'attente passive permet de laisser la ressource processeur disponible à un autre thread. Un exemple d'utilisation de l'attente passive dans le cas des techniques de synchronisation est l'utilisation de sémaphores. Une autre manière de mettre un thread en attente passive est d'utiliser la notion de mise en sommeil (sleep) du thread.

L'attente passive, bien que permettant à une autre tâche de prendre la main, doit être évitée si le temps d'attente prévu est inférieur à la durée de la commutation de contexte ; Dans ce genre de cas, l'attente active est plus efficace. Dans le cadre de système multiprocesseurs, il est parfois nécessaire d'utiliser de l'attente active au lieu de l'attente passive.