Bonjour,

Je vous propose un nouvel élément à utiliser : Thread : Priority Inversion Safe Binary Semaphore

Synchroniser des threads de priorites différentes.

Le mot cle synchronized utilise un sémaphore binaire qui n'empêche pas l'inversion de priorités, celui ci si, en utilisant le mécanisme d'héritage des priorités.

De plus sa file d'attente est prioritaire : le thread de plus haute priorité passe en premier.



Et pour l'utiliser, voici le parallele avec l'utilisation de synchronized :



// créer le sémaphore

Object o = new Object();

// prendre le sémaphore et attendre si necessaire

synchronized(o){



// rendre le sémaphore

}



// créer le sémaphore

PISBSem sem = new PISBSem();

// prendre le sémaphore et attendre si necessaire

sem.take();

// rendre le sémaphore

sem.give();



Qu'en pensez-vous ?