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爬取网站数据保存使用的方法
Nov 20 Python
Python对象体系深入分析
Oct 28 Python
对于Python的Django框架部署的一些建议
Apr 09 Python
用virtualenv建立多个Python独立虚拟开发环境
Jul 06 Python
让Python更加充分的使用Sqlite3
Dec 11 Python
使用Python和xlwt向Excel文件中写入中文的实例
Apr 21 Python
python爬取微信公众号文章
Aug 31 Python
Django 外键的使用方法详解
Jul 19 Python
Python实现微信机器人的方法
Sep 06 Python
keras slice layer 层实现方式
Jun 11 Python
Python获取指定网段正在使用的IP
Dec 14 Python
python 通过使用Yolact训练数据集
Apr 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
第十三节 对象串行化 [13]
2006/10/09 PHP
ecshop 订单确认中显示省市地址信息的方法
2010/03/15 PHP
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
盘点PHP和ASP.NET的10大对比!
2015/12/24 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
php获取文章内容第一张图片的方法示例
2017/07/03 PHP
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
jquery验证手机号码、邮箱格式是否正确示例代码
2013/07/28 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
iframe中子父类窗口调用JS的方法及注意事项
2015/08/25 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
JS实现的简单图片切换功能示例【测试可用】
2017/02/14 Javascript
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
python实现拓扑排序的基本教程
2018/03/11 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
python基于plotly实现画饼状图代码实例
2019/12/16 Python
Numpy之reshape()使用详解
2019/12/26 Python
python微信公众号开发简单流程实现
2020/03/09 Python
泰国综合购物网站:Lazada泰国
2018/04/09 全球购物
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
管理学专业个人求职信范文
2013/09/21 职场文书
安全生产检查通报
2014/01/29 职场文书
诉讼代理人授权委托书
2014/04/08 职场文书
教书育人演讲稿
2014/09/11 职场文书
病危通知单
2015/04/17 职场文书
大学生村官入党自传
2015/06/26 职场文书
一条 SQL 语句执行过程
2022/03/17 MySQL
Win11怎么跳过联网验机 ?Win11跳过联网验机激活教程
2022/04/05 数码科技