我一直试图在python中创建一个精确的计时器,或者一个OS允许的精确计时器。但这似乎比我最初想象的要复杂。

这就是我想要的工作方式:from time import sleep

from threading import Timer

def do_this():

print ("hello, world")

t = Timer(4, do_this)

t.start()

sleep(20)

t.cancel()

在20秒内,我每4秒钟执行一次“do_this”。但是“do_this”执行一次,然后脚本在20秒后终止。

另一种方法是用while循环创建thred。import time

import threading

import datetime

shutdown_event = threading.Event()

def dowork():

while not shutdown_event.is_set():

print(datetime.datetime.now())

time.sleep(1.0)

def main():

t = threading.Thread(target=dowork, args=(), name='worker')

t.start()

print("Instance started")

try:

while t.isAlive():

t.join(timeout=1.0)

except (keyboardInterrupt, SystemExit):

shutdown_event.set()

pass

if __name__ == '__main__':

main()

这个线程按预期执行,但我得到了一个时间漂移。在这种情况下,我必须通过相应地调整睡眠来补偿在while循环中执行代码所需的时间。

在python中,是否有一种简单的方法可以每秒(或任何间隔)执行一个计时器,而不引入与系统时间相比的偏移,而不必补偿sleep(n)参数?

谢谢你的帮助

/安德斯

python定时器 是线程吗_定时器中断线程python相关推荐

  1. c++主线程等待子线程结束_简单明了的 Python 多线程来了 | 原力计划

    作者 | 万里羊责编 | 王晓曼出品 | CSDN博客线程和进程计算机的核心是CPU,它承担了所有的计算任务,就像是一座工厂在时刻运行.如果工厂的资源有限,一次只能供一个车间来使用,也就是说当一个车间 ...

  2. 广告牌定时器怎么设置时间_定时器怎么设置时间?定时器的使用注意事项?

    定时器虽然大家在平时生活中都有听说过,但是可能不是经常接触,所以对其的了解不是很多,所以今天为了大家更好的认识定时器,就跟大家说说定时器怎么设置时间以及定时器的使用注意事项,一起来看看. 一.定时器怎 ...

  3. c++ 等待子线程结束_?进程、线程、以及它们之间的区别与联系

    一.进程简介 1.1 进程概念的引入 计算机中,CPU是最宝贵的资源,为了提高CPU的利用率,引入了多道程序设计的概念.当内存中多个程序存在时,如果不对人们熟悉的"程序"的概念加以 ...

  4. 零基础python视频教程谁的好_零基础自学Python!自我提升视频教程,新手必看

    小编今天给大家分享一套高老师的python400集视频教程,里面包含入门进阶,源码,实战项目等等,,不管你是正在学习中,还是想要学习的,通通来吧 肯定不会让你失望. 目录大纲: 本套教程15天 学前环 ...

  5. java 线程 通过interrupted_Java线程的传说(1)——中断线程Interrupted的用处

    中断线程 -- interrupt() 一个正在运行的线程除了正常的时间片中断之外,能否被其他线程控制?或者说其他线程能否让指定线程放弃CPU或者提前结束运行? 除了线程同步机制之外,还有两种方法: ...

  6. java线程提交_从Java线程到线程池

    线程模型 线程模型分为两类,用户级线程(ULT)和内核级线程(KLT) 用户级线程(ULT):user level threads,系统内核对ULT无感知,线程的创建和调度都由用户级APP进程管理:即 ...

  7. JAVA线程池_并发队列工作笔记0003---线程池的分类_可缓存线程池_定长线程池_定时线程池_单例线程池

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 这里说线程池的分类 有可缓存类型, 定长类型, 定时类型, 单例类型, 这里我这次用Executo ...

  8. c++ 等待子线程结束_进程和线程

    1.进程的基本概念 进程简单说就是运行中的可执行文件.代码经过编译后生成二进制可执行文件,当运行该可执行文件时,代码被装载到内存中,然后CPU会执行程序中的指令. 有关进程调度,例如进程A,进程B,C ...

  9. python科学计算教程视频_【P14】Python科学计算与图形渲染库视频课程视频教程 it教程...

    Python视频教程名称: Python科学计算与图形渲染库视频课程视频教程 Python视频教程 [IT视频教程网-www.itspjc.com] it教程 6 T6 ^9 L+ E4 C, }0 ...

  10. 趣学python教孩子学编程_《趣学Python——教孩子学编程》学习笔记第1-3章

    第1章 Python不是大蟒蛇 1.1 关于计算机语言 计算机程序是一组让计算机执行某种动作的指令.软件就是计算机程序的集合. 一种编程语言就是一种特定的与计算机交谈的方式,这种方式使用计算机和人都能 ...

最新文章

  1. Layui hint: Table element property lay-data configuration item has a syntax error解决方式
  2. 使用DOM4J解析XML时非法字符Exception
  3. mysql创建多实例,mysql 单服务器创建多实例
  4. [JavaScript]WebBrowser控件下IE版本的检测
  5. html input 禁止浏览器自动填充
  6. 存储过程中SELECT INTO的使用
  7. 人工智能、机器学习、神经网络及深度学习关系
  8. z变换解差分方程例题_Z变换解差分方程的思考
  9. u盘资料误删怎么恢复 怎样找回u盘里误删的文件
  10. 微信公众号授权,支付,退款总结【shoucang】
  11. 计算机领域影响因子3.5什么水平,计算机学科SCI(包括SCI-E)影响因子排名
  12. Java化小数为分数_杭电oj1717——小数化分数(java实现)
  13. html当作附件发送,邮件作为附件怎么发 怎样把邮件作为附件来进行传送?
  14. kali安装burpsuite专业版
  15. input,checkbox启用禁用
  16. 中国智能手机集成电路(IC)行业市场供需与战略研究报告
  17. 免费的聚合数据新闻头条API接口调用
  18. 基于wasm的探索与研究(四)
  19. 关于Vue admin 框架中 Pagination 分页 异步加载的问题
  20. CTF What-is-this

热门文章

  1. Java核心技术-具体的集合
  2. less知识点总结(二)
  3. CheckBox复选框控件
  4. Qualitative and Quantitative
  5. 让代码看起来更舒服(1):选择适合的配色方案 (转)
  6. h5分线程Worker
  7. 一款可以安利的MarkDown编辑器
  8. 不使用额外空间交换2个数据的源代码
  9. C# winform以阅览模式打开PPT,并控制PPT上下页,轮播
  10. 【逆向工具】使用x64dbg+spy去除WinRAR5.40(64位)广告弹框