La « mise en pause » des processus est une fonctionnalité qui m’a déjà été demandée plusieurs fois.

J’ai un peu cherché dans le Framework, et au niveau « Processus », ça n’existe pas directement.
Les seuls codes que  j’ai trouvé, et qui soient facilement exploitables, se contentent de mettre tous les threads d’un processus en pause, en utilisant des API Windows. 

Et forcément, c’est le genre de code qui n’est pas totallement « sûr ». En effet, que se passe-t-il si on suspend un thread qui est dans une section critique, alors qu’un autre thread attend un résultat, et que la remise en route des threads ne se fait pas correctement ? Et bien, on obtient un processus figé.

Mon programme « joue » déjà avec la priorité et l’affinité, ce que certains considèrent comme dangereux et devant être réservé au système d’exploitation.

Là, en implémentant possibilité de « mettre en pause » des processus, mon programme risque de rendre instable la machine des utilisateurs, et je ne pense pas que ce soit un bon point.

Alors : pour où contre cette fonctionnalité de mise en pause des processus ?