Quelqu'un peut-il me dire comment utiliser sleep() pour quelques millisecondes dans swift 2.2 ?
while (true){
print("sleep for 0.002 seconds.")
sleep(0.002) // not working
}
mais
while (true){
print("sleep for 2 seconds.")
sleep(2) // working
}
cela fonctionne.
1 votes
Le thread sleep ou yield est valable dans le cas du polling, par exemple. De nombreuses interfaces ne proposent pas de notifications. Vous devez donc vérifier de temps en temps si un changement asynchrone est imminent. Si vous le faites sans mettre le thread en pause entre les vérifications, vous harcelez inutilement le CPU et bloquez probablement le processus que vous attendez.
1 votes
Sleep() prend int comme paramètre. Ainsi, sleep(0.002) fera dormir 0 seconde. Utilisez plutôt usleep(nanosecondes).
0 votes
Pour ceux qui souhaitent utiliser les fonctions async & await de Swift 5.5, voir este réponse d'un autre poste.