python线程定时器Timer实现原理解析


Posted in Python onNovember 30, 2019

这篇文章主要介绍了python线程定时器Timer实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一.线程定时器Timer原理

原理比较简单,指定时间间隔后启动线程!适用场景:完成定时任务,例如:定时提醒-闹钟等等.

# 导入线程模块
import threading
timer = threading.Timer(interval, function, args=None, kwargs=None)

参数介绍:

interval — 定时器间隔,间隔多少秒之后启动定时器任务(单位:秒);

function — 线程函数;

args — 线程参数,可以传递元组类型数据,默认为空(缺省参数);

kwargs — 线程参数,可以传递字典类型数据,默认为空(缺省参数);

二.线程定时器使用

使用场景:定时闹钟

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): shuopython.com
@WeChat Official Account(微信公众号):猿说python
@Github:www.github.com
 
@File:python_timer.py
@Time:2019/10/22 21:25
 
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""
 
# 导入线程模块
import threading
 
def thread_Timer():
  print("该起床啦...5秒之后再次呼叫你起床...")
 
  # 声明全局变量
  global t1
  # 创建并初始化线程
  t1 = threading.Timer(5,thread_Timer)
  # 启动线程
  t1.start()
if __name__ == "__main__":
  # 创建并初始化线程
  t1 = threading.Timer(5, thread_Timer)
  # 启动线程
  t1.start()

输出结果:

该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...

代码分析:

在主线程创建了线程定时器,在5秒之后执行thread_Timer线程函数,而在thread_Timer函数结束的时候,又设置了定时器线程thread_Timer,这就完成了一个递归的操作,间隔5秒重复定时任务!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中MySQLdb和torndb模块对MySQL的断连问题处理
Nov 09 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
Python构建XML树结构的方法示例
Jun 30 Python
python的构建工具setup.py的方法使用示例
Oct 23 Python
python 获取当天每个准点时间戳的实例
May 22 Python
python操作excel文件并输出txt文件的实例
Jul 10 Python
详解Python网络框架Django和Scrapy安装指南
Apr 01 Python
浅谈pyqt5在QMainWindow中布局的问题
Jun 21 Python
pandas 数据索引与选取的实现方法
Jun 21 Python
python多线程并发实例及其优化
Jun 27 Python
python2使用bs4爬取腾讯社招过程解析
Aug 14 Python
Python使用Chrome插件实现爬虫过程图解
Jun 09 Python
python线程信号量semaphore使用解析
Nov 30 #Python
Python一行代码解决矩阵旋转的问题
Nov 30 #Python
Numpy之将矩阵拉成向量的实例
Nov 30 #Python
numpy np.newaxis 的实用分享
Nov 30 #Python
Python如何使用函数做字典的值
Nov 30 #Python
关于Numpy中的行向量和列向量详解
Nov 30 #Python
numpy:np.newaxis 实现将行向量转换成列向量
Nov 30 #Python
You might like
php实现多张图片上传加水印技巧
2013/04/18 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
php中switch与ifelse的效率区别及适用情况分析
2015/02/12 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
2015/07/09 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
javascript cookies操作集合
2010/04/12 Javascript
前端开发必须知道的JS之原型和继承
2010/07/06 Javascript
Jquery中对数组的操作代码
2011/08/12 Javascript
js实现倒计时时钟的示例代码
2013/12/17 Javascript
javascript函数声明和函数表达式区别分析
2014/12/02 Javascript
jQuery实现“扫码阅读”功能
2015/01/21 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
2015/03/13 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
jquery删除数组中重复元素
2016/12/05 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
VUE element-ui 写个复用Table组件的示例代码
2017/11/18 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
layer.open组件获取弹出层页面变量、函数的实例
2019/09/25 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
python网络编程实例简析
2014/09/26 Python
Python实现将文本生成二维码的方法示例
2017/07/18 Python
Python微信库:itchat的用法详解
2017/08/14 Python
python中的迭代和可迭代对象代码示例
2017/12/27 Python
python matlibplot绘制多条曲线图
2021/02/19 Python
Python中 map()函数的用法详解
2018/07/10 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
Python使用pyshp库读取shapefile信息的方法
2018/12/29 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
美国最大的骑马用品零售商:HorseLoverZ
2017/01/12 全球购物
日本最大的药妆连锁店:Matsukiyo松本清药妆店
2017/11/23 全球购物
阳光体育:Sunny Sports(购买露营和远足设备)
2018/08/07 全球购物
美国汽车零部件和配件网站:CarParts
2019/03/13 全球购物
2015年城市管理工作总结
2015/05/23 职场文书
宣传稿格式范文
2015/07/23 职场文书
安全生产会议制度
2015/08/06 职场文书