Le problème, c'est que ce scheduleur doit essayer d'éviter les deadlocks entre les threads
heuuu, pas vraiment non. Les dead lock entre threads c'est au programmeur de les prevoir (c'est d'ailleur le principal probleme de la programmation multi-thread et l'apparition des lock, semaphores, ...).
le scheduleur a une tache simple :-) , decider qui tourne sur quel processeur. Quand un thread a besoin d'une ressource non disponible, il n'est plus elligible et n'aura donc pas le cpu.
quand tu utilises "top", seuls les process/threads marqué d'un "R" sont "runnable". Seul ceux-ci font l'objet d'un arbitrage ...
[^] # Re: Ordonnanceur?
Posté par PLuG . En réponse à la dépêche Les promesses de la Native POSIX Threading Library et du prochain Kernel 2.6. Évalué à 10.