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连接字符串的方法小结
Jul 13 Python
Python、PyCharm安装及使用方法(Mac版)详解
Apr 28 Python
Zookeeper接口kazoo实例解析
Jan 22 Python
python数据处理 根据颜色对图片进行分类的方法
Dec 08 Python
python join方法使用详解
Jul 30 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
pyqt5、qtdesigner安装和环境设置教程
Sep 25 Python
深入浅析Python 中的sklearn模型选择
Oct 12 Python
Pygame的程序开始示例代码
May 07 Python
keras中的卷积层&池化层的用法
May 22 Python
彻底解决Python包下载慢问题
Nov 15 Python
Python Socket多线程并发原理及实现
Dec 11 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
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
PHP bin2hex()函数基础实例讲解
2019/02/11 PHP
js 判断 enter 事件
2009/02/12 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
js实现鼠标左右移动,图片也跟着移动效果
2017/01/25 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
php简单数据库操作类的封装
2017/06/08 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
微信小程序开发中var that =this的用法详解
2020/01/18 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
JavaScript async/await原理及实例解析
2020/12/02 Javascript
Python单例模式的两种实现方法
2017/08/14 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
Django REST 异常处理详解
2020/07/15 Python
圣诞节红领巾广播稿
2014/02/03 职场文书
开业庆典策划方案
2014/02/18 职场文书
班训口号大全
2014/06/18 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
财产保全担保书
2015/01/20 职场文书
公务员年终个人总结
2015/02/12 职场文书
技术入股合作协议书
2016/03/21 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
使用pytorch实现线性回归
2021/04/11 Python
「SHOW BY ROCK!!」“雫シークレットマインド”组合单曲MV公开
2022/03/21 日漫
Java中的Kotlin 内部类原理
2022/06/16 Java/Android
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技