No estoy de acuerdo con la evaluación de que Thread.Sleep()
es "malo". Depende de la situación.
En un programa de modo de consola, puede ser perfectamente apropiado para dormir el hilo si está esperando algo. Tal vez incluso en un ciclo: verifique la condición, duerma un poco si no está satisfecho, repita.
Sin embargo, en un programa gráfico, normalmente no dormiría en el hilo principal (GUI). Esto se debe a que en la actualidad las interfaces GUI están diseñadas con un solo hilo interactivo. Si duerme en ese hilo, toda su GUI aparecerá "bloqueada" por el tiempo que duerme. Una mejor situación podría ser utilizar algún tipo de temporizador (todos los marcos de GUI tienen ese concepto).
Una cosa que usted hace no quiere hacer es escribir un bucle que comprueba continuamente si alguna condición es verdadera, sin siquiera dormir. Esto hará que una CPU se ejecute hasta el 100% porque la CPU quiere hacer su trabajo lo más rápido posible. Esto no solo es inesperado desde el punto de vista de un usuario, sino que no es amistoso porque tal actividad puede privar al proceso de que realmente está esperando suficientes ciclos para obtener ¡Su trabajo es!
Quiero votar ese artículo, pero no puedo. StackOverflow ha arruinado el resto de Internet para mí. – MusiGenesis
Quiero que ese artículo explique por qué el uso del 100% de la CPU en un ciclo continuo de trabajo es una alternativa preferida a Thread.Sleep (1). – StingyJack