Usando votação em vez de dormir para atrasar um programa

A função sleep () em C atrasará seu programa por alguns segundos que você especificar. Se você quiser atrasar seu programa por alguns milissegundos, então, obviamente, sleep () não funcionará. Uma boa alternativa para sleep () é a função poll (). Normalmente, isso é usado para verificar se há dados a serem lidos de um grupo de descritores de arquivo; também pode funcionar como um comando simples de suspensão. poll () leva três parâmetros, uma matriz de estruturas (struct * pollfd), o número de elementos na matriz (int sem sinal) e o número de milissegundos de espera pelos dados (int). Ao ignorar os dois primeiros parâmetros, você pode usar poll () como um sleep () de resolução mais alta. Basta definir os dois primeiros parâmetros como 0 ao chamar a função e definir o tempo limite para quantos milissegundos você deseja atrasar seu programa. Eu uso isso ao escrever simuladores simples no trabalho,