time monotonic em Python
Автор: Otávio Miranda
Загружено: 2025-11-10
Просмотров: 378
Описание:
Neste vídeo vamos aprender a não perder tempo por conta de atualizações no relógio do sistema operacional usando time.monotonic e time.monotonic_ns no Python. Também vamos calcular diferenças entre um loop e outro para garantir sempre um segundo preciso para cada loop.
Qual o problema do tempo normal do sistema?
Quando usamos um "clock wall" ou relógio de parede (ou o relógio do sistema mesmo), podemos perder a conta do tempo devido a correções que ocorrem automaticamente via servidores NTP. Até mesmo a mudança de horário de verão, ou coisas do tipo, podem afetar o seu código que depende do tempo.
Como nessa playlist estamos criando "timers", o nosso código inteiro é baseado no tempo. Por isso, não podemos nos dar ao luxo de perder nenhum nanossegundo sequer.
Além de usar time.monotonic ou time.monotonic_ns, também vamos calcular a diferença que a thread leva para acordar após um "wait" ou "time.sleep". Isso vai fazer você perceber que, "um segundo" não é "um segundo" de verdade no sleep. É só o tempo em que você espera que o SO acorde a sua thread.
Para corrigir o problema vamos calcular a diferença entre um loop e outro. Assim, podemos descontar o tempo adicional deixando nosso timer muito mais preciso.
Link do repositório:
https://github.com/luizomf/concurrent...
Playlist completa:
• Programação concorrente em Python
Meus Cursos:
https://www.otaviomiranda.com.br/
Newsletter:
https://luizomf.substack.com/
Capítulos
00:00:00 - Introdução a time.monotonic e time.monotonic_ns
00:01:35 - O wall clock e seus problemas
00:03:12 - O que é um Monotonic Clock?
00:04:35 - Um segundo não é um segundo
00:05:35 - Calculando a diferença com time.monotonic
00:08:59 - Converta nanossegundos em segundos
00:10:30 - Soluções possíveis para o tempo adicional indesejado
00:13:44 - Vamos descontar o tempo adicional a cada volta do loop
00:20:30 - Um teste de 10 minutos, resolvido?
00:24:48 - Formatando segundos como hora, minuto e segundo
00:28:20 - Recapitulando tudo e concluindo
#Python #threading #event #concurrency #threads
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: