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 算法 排序实现快速排序
Jun 05 Python
Python常用模块用法分析
Sep 08 Python
python实现可以断点续传和并发的ftp程序
Sep 13 Python
Python 实现在文件中的每一行添加一个逗号
Apr 29 Python
python 字典修改键(key)的几种方法
Aug 10 Python
对Python Class之间函数的调用关系详解
Jan 23 Python
对python中矩阵相加函数sum()的使用详解
Jan 28 Python
Python 使用双重循环打印图形菱形操作
Aug 09 Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 Python
sublime3之内网安装python插件Anaconda的流程
Nov 10 Python
django使用多个数据库的方法实例
Mar 04 Python
用Python可视化新冠疫情数据
Jan 18 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
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
2015/05/27 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
2016/08/23 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
PHP实现随机生成水印图片功能
2017/03/22 PHP
写出更好的JavaScript之undefined篇(上)
2009/11/22 Javascript
Jquery选择器 $实现原理
2009/12/02 Javascript
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
javascript字符串替换函数如何一次性全部替换掉
2015/10/30 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
浅析JavaScript中的array数组类型系统
2016/07/18 Javascript
Vue内容分发slot(全面解析)
2017/08/19 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
Vue实现手机计算器
2020/08/17 Javascript
Python通过select实现异步IO的方法
2015/06/04 Python
使用pandas对矢量化数据进行替换处理的方法
2018/04/11 Python
基于Python实现用户管理系统
2019/02/26 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
Python内存泄漏和内存溢出的解决方案
2020/09/26 Python
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
求职毕业生自荐书
2014/02/08 职场文书
路政管理毕业自荐书范文
2014/02/10 职场文书
总经理工作职责范文
2014/03/14 职场文书
倡议书格式范文
2014/04/14 职场文书
《中国梦我的梦》中学生演讲稿
2014/08/20 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
基于Redission的分布式锁实战
2022/08/14 Redis