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中的Numpy入门教程
Apr 26 Python
Python中__name__的使用实例
Apr 14 Python
浅谈Python的垃圾回收机制
Dec 17 Python
python版本坑:md5例子(python2与python3中md5区别)
Jun 20 Python
Python进程间通信Queue实例解析
Jan 25 Python
Python全局变量与局部变量区别及用法分析
Sep 03 Python
Python分布式进程中你会遇到的问题解析
May 28 Python
Django model update的多种用法介绍
Mar 28 Python
python爬虫解决验证码的思路及示例
Aug 01 Python
Python + selenium + crontab实现每日定时自动打卡功能
Mar 31 Python
使用python批量修改XML文件中图像的depth值
Jul 22 Python
python 利用opencv实现图像网络传输
Nov 12 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
SONY SRF-M100的电路分析
2021/03/02 无线电
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
ThinkPHP实现带验证码的文件上传功能实例
2014/11/01 PHP
PHP实现获取域名的方法小结
2014/11/05 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
2015/05/11 PHP
PHP 获取 ping 时间的实现方法
2017/09/29 PHP
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
利用javascript的面向对象的特性实现限制试用期
2011/08/04 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
2013/11/25 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
JQuery球队选择实例
2015/05/18 Javascript
解决jquery实现的radio重新选中的问题
2015/07/03 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
JS实现字符串转驼峰格式的方法
2016/12/16 Javascript
前端页面文件拖拽上传模块js代码示例
2017/05/19 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
[01:14:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Orenda
2014/05/22 DOTA
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
Django实现简单分页功能的方法详解
2017/12/05 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
python实现烟花小程序
2019/01/30 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
2019/09/26 Python
python循环输出三角形图案的例子
2019/11/22 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
python怎么对数字进行过滤
2020/07/05 Python
Marmot土拨鼠官网:美国专业户外运动品牌
2018/01/11 全球购物
出纳岗位职责模板
2013/11/27 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
罚款通知怎么写
2015/04/22 职场文书
高中化学教学反思
2016/02/22 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
Python使用UDP实现720p视频传输的操作
2021/04/24 Python
mysql使用instr达到in(字符串)的效果
2022/04/03 MySQL