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

这篇文章主要介绍了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秒重复定时任务!

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

时间: 2019-11-28

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的timer是一种用于定时执行特定任务的机制。通过使用线程来实现定时器,可以在指定的时间间隔后触发相应的事件。在实际应用中,定时器经常被用于执行周期性的任务或触发特定的事件。 例如,使用Python中的threading模块,我们可以创建一个定时器并指定一个函数作为定时器到期时要执行的任务。在定时器的构造函数中,我们可以指定时间间隔(以秒为单位)和要执行的函数。当定时器启动后,它将在指定的时间间隔后触发函数执行。 然而需要注意的是,timer只会触发一次任务执行,并且程序会在任务执行完毕后结束。如果我们希望定时器周期性地执行任务,我们需要在任务执行完毕后重新启动定时器。如果我们想要停止定时器的运行,可以使用stop()方法来停止定时器的执行。如果我们尝试启动一个已经在运行的定时器,将会引发TimerError异常。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [python timer使用-Python timer定时器两种常用方法解析](https://blog.csdn.net/weixin_37988176/article/details/109414576)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [python timer怎么用_python定时器Timer)用法简单实例](https://blog.csdn.net/weixin_39608748/article/details/110403551)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值