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写的一个squid访问日志分析的小程序
Sep 17 Python
Python入门篇之对象类型
Oct 17 Python
Python的动态重新封装的教程
Apr 11 Python
python脚本设置系统时间的两种方法
Feb 21 Python
深入理解Python单元测试unittest的使用示例
Nov 18 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
Feb 23 Python
python通过Windows下远程控制Linux系统
Jun 20 Python
简单了解django索引的相关知识
Jul 17 Python
django中使用事务及接入支付宝支付功能
Sep 15 Python
python使用pip安装SciPy、SymPy、matplotlib教程
Nov 20 Python
Django关于admin的使用技巧和知识点
Feb 10 Python
使用Python下载抖音各大V视频的思路详解
Feb 06 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 md5下16位和32位的实现代码
2008/04/09 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
如何使用php判断服务器是否是HTTPS连接
2013/07/05 PHP
PHP面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
2014/08/16 PHP
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
JavaScript操纵窗口的方法小结
2013/06/28 Javascript
js 鼠标移动显示图片的简单实例
2013/12/25 Javascript
js模仿hover的具体实现代码
2013/12/30 Javascript
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
2016/10/14 Javascript
探究JavaScript中的五种事件处理程序方式
2016/12/07 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
Angular实现svg和png图片下载实现
2019/05/05 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
JS几个常用的函数和对象定义与用法示例
2020/01/15 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
深入讲解Java编程中类的生命周期
2016/02/05 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
numpy concatenate数组拼接方法示例介绍
2019/05/27 Python
python实现PID算法及测试的例子
2019/08/08 Python
pytorch 批次遍历数据集打印数据的例子
2019/12/30 Python
Python openpyxl模块实现excel读写操作
2020/06/30 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
斯凯奇新西兰官网:SKECHERS新西兰
2018/02/22 全球购物
美国家庭鞋店:Shoe Sensation
2019/09/27 全球购物
酒店总经理职务说明书
2014/02/26 职场文书
公司联欢晚会主持词
2014/03/22 职场文书
综合内勤岗位职责
2014/04/14 职场文书
2015年个人自我剖析材料
2014/12/29 职场文书
幼儿园父亲节活动总结
2015/02/12 职场文书
三国演义读书笔记
2015/06/25 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
一篇带你入门Java垃圾回收器
2021/06/16 Java/Android