
Envoyé par
oodini
Même si on veut donner une priorité aux processus ?
A ce moment là, ton processus (ou "autre chose", qui peut être externe à ton processus) dispose de l'information ad-hoc.
Mais, si tu veux trier tes processus selon leur priorité, ce sera plus une fonction du genre lessByPriority ou toute autre que tu utiliseras 
Le propre de quelque chose qui est identifié de manière unique est de ne permettre que la comparaison des éléments qui le composent, quel que soit l'élément envisagé pour la comparaison.
Le fait d'avoir un opérateur "<" (ou tout autre opérateur de comparaison possible) prend la sémantique de
Tel (processus, dans le cas présent) est plus petit que tel autre.
C'est très bien, mais plus petit selon quel critère 
Selon son identifiant unique 
Selon sa priorité 
Selon la durée depuis laquelle il s'exécute 
Il est impossible de le déterminer.
Du coup, tu te trouves avec un opérateur qui risque d'être utilisé à mauvais escient parce que chacun "verra midi à sa porte" et qu'un développeur envisagera une solution et un autre envisagera une autre solution, quand il n'y en aura pas un qui considérera que c'est d'abord la priorité, puis la durée depuis laquelle le processus s'effectue 
Si tu ne peux pas assurer la sémantique d'un opérateur, le mieux est encore de ne pas définir cet opérateur, quitte à définir une fonction équivalente qui précise exactement ce qu'elle fait et dans quel ordre.
Il faut bien comprendre qu'un opérateur n'est jamais qu'un "sucre syntaxique": une manière de laisser le développeur aller vers sa fainéantise naturelle
Partager