【Python高级之定时器】
Python高级之定时器
- 定时器
定时器
如果需要使用定时器去触发一些事件,Python中通过线程实现定时器timer,定时器的意思也是:一段时间后调用一个函数。
用法:
import threadingdef fun_timer():print('Hello Timer!')
timer = threading.Timer(1, fun_timer)
timer.start()
注意:必须在定时器执行函数内部重复构造定时器,因为定时器构造后只执行1次,必须循环调用。
拓展:可以使用cancel停止定时器的工作timer.cancel()
import threadingdef fun_timer():print('Hello Timer!')
timer = threading.Timer(1, fun_timer)
timer.start()
timer.sleep(20) # 20秒后关闭
timer.cancel()
本次作业:
"""第一个线程中获取当前时间,判断当前时间3秒之后,触发“事件”对象。
在另一个线程中,作为数学考试结束的判断变量,否则一直处于考试中"""
import datetime
import threading
import timeclass time0(threading.Thread): # 定义一个类,继承父类threaing的Thread方法def __init__(self, name):super(time0, self).__init__()self.name = namedef run(self): # 定义运行函数time3 = time.ctime(time.time()) # 获取当前的时间while True: # 循环if event.is_set(): # 如果事件执行,输出 考试结束,事件不执行则输出考试中print("考试结束%s%s" % (self.name, time3))else:print("考试中·······")class set_event(threading.Thread): # 定义一个类,继承父类threaing的Thread方法def __init__(self):super(set_event, self).__init__()def run(self): # 定义运行函数time1 = time.time() # 获取当前的事件while True: # 循环time2 = time.time() # 获取当前时间time_minus = (time2 - time1) # 获取时间差t = int(time_minus) # 强制转换为int型# print(t)if t >= 3: # 判断,如果时间差大于3秒,则执行事件event.set()# event.clear()if __name__ == '__main__': # 主方法event = threading.Event() # 定义事件time_ = time0("当前时间是") # 实例化对象定义线程传参set_event_ = set_event() # 实例化对象定义线程time_.start() # 启动线程set_event_.start() # 启动线程
【Python高级之定时器】相关推荐
- python架构师培训课程_Python从零到架构师课程 六大阶段Python高级课程+项目实战 尚学堂全方位Python课程...
Python从零到架构师课程 六大阶段Python高级课程+项目实战 尚学堂全方位Python课程 3.JPG (31.16 KB, 下载次数: 1) 2019-9-17 23:36 上传 2.JP ...
- Python高级特性:切片、迭代、列表生成式、生成器与迭代器
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 接着廖雪峰老师的学习教程,小编要开始加快推进Python的学习进程 ...
- Python高级特性——切片(Slice)
Python高级特性--切片(Slice) 摘录廖雪峰网站 定义一个list: L = ['haha','xixi','hehe','heihei','gaga'] 取其前三个元素: >> ...
- python验证中心极限定理_我竟然混进了Python高级圈子!
原标题:我竟然混进了Python高级圈子! 现如今,计算机科学.人工智能.数据科学已成为技术发展的主要推动力. 无论是要翻阅这些领域的文章,还是要参与相关任务,你马上就会遇到一些拦路虎: 想过滤垃圾邮 ...
- python数据库模块_十二、Python高级功能之Mysql数据库模块
Python高级功能之Mysql数据库模块 安装python mysql组件 # yum -y install MySQL-python.x86_64 以下根据实例来说明: >>> ...
- python队列线程池_实例详解:python高级编程之消息队列(Queue)与进程池(Pool)
今天为大家带来的内容是:python高级编程之消息队列(Queue)与进程池(Pool),结合了实例的形式详细分析了Python消息队列与进程池的相关原理.使用技巧与操作注意事项!!! Queue消息 ...
- python高级开发面试题_python面试的100题(16)
Python高级 元类 42.Python中类方法.类实例方法.静态方法有何区别? 类方法: 是类对象的方法,在定义时需要在上方使用 @classmethod 进行装饰,形参为cls,表示类对象,类对 ...
- PYTHON高级全栈开发工程师-老男孩教育
PYTHON高级全栈开发工程师 最近开班日期:2016年4月17号 课程周期:4至4.5个月 学习方式:全脱产面授学习(周一至周五,早9:3 ...
- 已知x=python是一种非常好的编程语言-为什么用Python,高级的Python是一种高级编程语言...
Python特性 如果有人问我Python最大的特点是什么,我会毫不犹豫地告诉他:它简单易学,功能强大.作为一个纯自由软件,Python有许多优点: 很简单.基于"优雅".&quo ...
最新文章
- 女皇万岁!我们是来送礼的 ——阿里聚安全春天系列全套大礼包
- 【bootstrap组件】几个常用的好用bs组件
- Delphi中多线程用Synchronize实现VCL数据同步显示
- 第十周项目1-程序填空与阅读(一)
- Java笔记-对tomcat进一步认识
- Go Web 编程--如何确保Cookie数据的安全传输
- java suppliers_java8的Supplier
- Android安全:Hook技术
- 九大内置对象和servlet生命周期
- 使用 laravel-admin 配置后台管理系统
- 网页如何开启Gzip压缩
- 天翎myAppsSetup_V4.4.sp10系统结构图
- 为Exynos4412移植2022版U-Boot(一)步骤及其原理分析
- 三星董事长去世享年78岁,临终前最为遗憾的一件事
- POJ 3422 Kaka's Matrix Travels(拆点+最大费用流)题解
- 手机(局域网)远程连接 windows电脑
- 大学计算机基础网络应用第二套,大学计算机基础)应用指导(第2版
- 陪伴我成长的学习工作邮箱品牌——TOM邮箱
- NBA篮球经典动画gif系列连载之三
- 微信小程序独家秘笈之抽奖大转盘
热门文章
- echarts学习备忘
- 注册公司避开这3个坑,通过率提升99%!
- 实验吧登陆一下好吗??WP
- 智能机房动环监控方案
- ChatGPT作者John Shulman:我们成功的秘密武器
- lol手游内测服务器什么时候维护好,LOL手游第二次内测开启?网友预测:正式服春节前可以上线...
- 在 Linux 中移除从源代码安装的程序的一种简单的方法
- oracle包校验和失败怎么回事,lol更新包md5校验失败怎么回事_更新lol提示更新包MD5校验失败如何处理-win7之家...
- 【BX学习之支付流程】收银机的支付流程手记
- MySQL8.0.28安装教程