python 轮询执行某函数的2种方式


Posted in Python onMay 03, 2020

目标:python中每隔特定时间执行某函数

方法1:使用python的Thread类的子类Timer,该子类可控制指定函数在特定时间后执行一次:

所以为了实现多次定时执行某函数,只需要在一个while循环中多次新建Timer即可。

from threading import Timer
import time
 
def printHello():
 print ("Hello")
 print("当前时间戳是", time.time())
 
def loop_func(func, second):
 #每隔second秒执行func函数
 while True:
  timer = Timer(second, func)
  timer.start()
  timer.join()
 
loop_func(printHello, 1)

运行结果如下:

Hello
当前时间戳是 1569224253.1897497
Hello
当前时间戳是 1569224254.1911764
Hello
当前时间戳是 1569224255.1924803
Hello
当前时间戳是 1569224256.1957717
Hello
当前时间戳是 1569224257.1964536
……

方法2:使用time模块的sleep函数可以阻塞程序执行

import time
 
def printHello():
 print ("Hello")
 print("当前时间戳是", time.time())
 
def loop_func(func, second):
 # 每隔second秒执行func函数
 while True:
  func()
  time.sleep(second)
 
loop_func(printHello, 1)

运行结果如下:

Hello
当前时间戳是 1569224698.5843027
Hello
当前时间戳是 1569224699.5843854
Hello
当前时间戳是 1569224700.5870178
Hello
当前时间戳是 1569224701.5881224
Hello
当前时间戳是 1569224702.588771
Hello
当前时间戳是 1569224703.5896
Hello
当前时间戳是 1569224704.5902
……

总结:感觉方法2更节约资源,因为同样使用了while循环,方法2没有生成多余的线程,但是方法1会生成很多的线程

以上这篇python 轮询执行某函数的2种方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用python实现面向对像的ASP程序实例
Nov 10 Python
python检查指定文件是否存在的方法
Jul 06 Python
python实现简单socket通信的方法
Apr 19 Python
Python实现爬取需要登录的网站完整示例
Aug 19 Python
python 检查文件mime类型的方法
Dec 08 Python
Djang的model创建的字段和参数详解
Jul 27 Python
python实现邮件发送功能
Aug 10 Python
Django Docker容器化部署之Django-Docker本地部署
Oct 09 Python
python 线性回归分析模型检验标准--拟合优度详解
Feb 24 Python
Python轻量级web框架bottle使用方法解析
Jun 13 Python
python脚本第一行如何写
Aug 30 Python
Python常用断言函数实例汇总
Nov 30 Python
在Sublime Editor中配置Python环境的详细教程
May 03 #Python
Python 将 QQ 好友头像生成祝福语的实现代码
May 03 #Python
Python使用pdb调试代码的技巧
May 03 #Python
如何在windows下安装Pycham2020软件(方法步骤详解)
May 03 #Python
Python使用多进程运行含有任意个参数的函数
May 02 #Python
python多进程使用函数封装实例
May 02 #Python
Python中使用filter过滤列表的一个小技巧分享
May 02 #Python
You might like
PHP系统命令函数使用分析
2013/07/05 PHP
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
PHP正则表达式之捕获组与非捕获组
2015/11/06 PHP
php技巧小结【推荐】
2017/01/19 PHP
高效的表格行背景隔行变色及选定高亮的JS代码
2010/12/04 Javascript
jQuery学习笔记 获取jQuery对象
2012/09/19 Javascript
使用documentElement正确取得当前可见区域的大小
2014/07/25 Javascript
jquery获取radio值(单选组radio)
2014/10/16 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
老生常谈combobox和combotree模糊查询
2017/04/17 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
python实现代理服务功能实例
2013/11/15 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
2018/12/06 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
2019/08/26 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
python 异步async库的使用说明
2020/05/04 Python
python如何使用腾讯云发送短信
2020/09/17 Python
必须要使用游标的SQL语句有那些
2012/05/07 面试题
linux下进程间通信的方式
2014/12/23 面试题
How to spawning asynchronous work in J2EE
2016/08/29 面试题
日期和时间问题
2015/01/04 面试题
简单的辞职信范文
2014/01/18 职场文书
工程师岗位职责规定
2014/02/26 职场文书
大学生英语演讲稿
2014/04/24 职场文书
党员志愿者活动方案
2014/08/28 职场文书
责任书范本大全
2015/05/11 职场文书
员工福利申请报告
2015/05/15 职场文书
幼儿园见习总结
2015/06/23 职场文书
思想工作总结范文
2015/08/12 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书
Python Django获取URL中的数据详解
2021/11/01 Python