Une solution consiste à utiliser un sémaphore (initialisé à 0) par arête dans le graphe d'ordonnancement des tâches.
Avec ces sémaphores, l'ordonnancement est obtenu, si chaque tâche exécute les codes suivants.