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程序实例(通讯录)
Nov 29 Python
python正则表达式match和search用法实例
Mar 26 Python
在Python的列表中利用remove()方法删除元素的教程
May 21 Python
python读取二进制mnist实例详解
May 31 Python
基于Django用户认证系统详解
Feb 21 Python
python自动化生成IOS的图标
Nov 13 Python
Pandas Shift函数的基础入门学习笔记
Nov 16 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
Apr 10 Python
Python环境管理virtualenv&virtualenvwrapper的配置详解
Jul 01 Python
python 如何调用远程接口
Sep 11 Python
python爬虫scrapy图书分类实例讲解
Nov 23 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
Apr 24 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安装全攻略:APACHE
2006/10/09 PHP
实用函数9
2007/11/08 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
2014/08/21 PHP
laravel migrate初学常见错误的解决方法
2017/10/11 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
js中格式化日期时间型数据函数代码
2010/11/08 Javascript
php 中序列化和json使用介绍
2013/07/08 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
javascript图片预加载实例分析
2015/07/16 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
JavaScript绑定事件监听函数的通用方法
2016/05/14 Javascript
CSS3 media queries结合jQuery实现响应式导航
2016/09/30 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
node静态服务器实现静态读取文件或文件夹
2019/12/03 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
2020/11/24 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
Python实现使用request模块下载图片demo示例
2019/05/24 Python
使用python爬取微博数据打造一颗“心”
2019/06/28 Python
python pillow模块使用方法详解
2019/08/30 Python
selenium+Chrome滑动验证码破解二(某某网站)
2019/12/17 Python
Python 实现训练集、测试集随机划分
2020/01/08 Python
编写html5时调试发现脚本php等网页js、css等失效
2013/12/31 HTML / CSS
巴西网上药店:Drogaria Araujo
2021/01/06 全球购物
Wiggle澳大利亚:自行车、跑步、游泳商店
2020/11/07 全球购物
数控技校生自我鉴定
2014/03/02 职场文书
2014年教师节寄语
2014/04/03 职场文书
走群众路线学习心得体会
2014/10/31 职场文书
国家助学金感谢信
2015/01/21 职场文书
报案材料怎么写
2015/05/25 职场文书
家长会开场白和结束语
2015/05/29 职场文书