Comment puis-je obtenir un comportement similaire à Sleep (0) sous Linux?

Sur Windows, Sleep (0) génère un contrôle de thread sans spécifier de temps minimum ( voir ici ). Mais sous Linux et POSIX, le sumil (0) de unistd.h est simplement ignoré.

Quel est le meilleur moyen d’obtenir un comportement de type Sleep (0) sous Linux?

Essayez sched_yield à partir de “sched.h”, créé uniquement pour ce que vous voulez faire.

Si cela ne fonctionne pas pour une raison quelconque – essayez usleep(1) – Cela produira un retard d’au moins 1 microseconde (peut être plus), ce qui déclenche un changement de contexte (si un thread est en attente).