Python——定时器

article/2025/10/10 19:32:17

1.定时器

        Timer定时器源码实现,和自定义一个线程方式一样,都是继承Thread类,重写了run()方法,只是实现的功能是延时执行一个函数或方法。

(1)线程定时器(Timer)解释:

  • Timer类是Thread的子类,只加入了时间延迟功能。
  • Thread和Timer对象都用start()方法启动。
  • 启动Timer后,等于单独启动一个线程,为非阻塞的。

(2)Timer 的两种用法:

        正常用法:启动后,延时执行函数或方法。

        特殊用法:每隔n秒,执行一次函数或方法,就是不断地启动定时器。

2.队列

  • queue.Queue( ):先入先出。
  • queue.LifoQueue( ):后入先出。
  • queue.PriorityQueue() :可设置优先级。
  • Queue.put():往队列放数据。
  • Qveue .get():从队列取数据。
  • Quewe.task.done():配合get使用,告诉队列本次完成。
  • Queue.qsize():获取数据的数量。
  • Queue.full()/empty():判满/空。
  • Queue.join():等待线程完成。

3.线程池:

        线程池在系统启动时即创建大量空闲的线程,程序只要将一个函数提交给线程池,线程池就会启动一个空闲的线程来执行它。当该函数执行结束后,该线程并不会死亡,而是再次返回到线程池中变成空闲状态,等待执行下一个函数。

        使用线程池可以有效地控制系统中并发线程的数量。当系统中包含有大量的并发线程时,会导致系统性能急剧下降,甚至导致Python解释器崩溃,而线程池的最大线程数参数可以控制系统中并发线程的数量不超过此数,从而节省线程创建和销毁的开销,能带来更好的性能和系统稳定性。

图片转载于

公众号:码农富哥

4.案例

        使用定时器实现当前时间每秒循环输出一次。

        Timer:

import threading
import time# run函数
def run():print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))  # 输出当地时间timer = threading.Timer(1, run)  # 设置一个定时器,循环输出时间timer.start()  # 启动线程run()

        运行结果:

2022-01-22 20:22:15
2022-01-22 20:22:16
2022-01-22 20:22:17
2022-01-22 20:22:18
2022-01-22 20:22:19
2022-01-22 20:22:20
2022-01-22 20:22:21
2022-01-22 20:22:22
2022-01-22 20:22:23
2022-01-22 20:22:24
2022-01-22 20:22:25
······

http://chatgpt.dhexx.cn/article/gFKiXPmC.shtml

相关文章

[JavaEE]定时器

专栏简介: JavaEE从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录: 1.定时器的概念 2.标准库中的定时器 3.实现定时…

定时器的作用

一、简介。 在很多时候,我们设计网页时,为了某种表现形式,会使用到定时器这一功能,如:为了保证用户有仔细阅读我们的用户条款,我们会给确认按钮设置只有条款被打开,并超过5秒才允许点击。 二、…

定时器简介

文章目录 一.定时器基本介绍A.CPU时序B.定时器的原理 二.定时/计数器的相关寄存器A.定时器工作方式寄存器(TMOD)B.控制寄存器(TCON) 三.定时器的四种工作方式图解 一.定时器基本介绍 A.CPU时序 振荡周期:CPU外部晶振…

定时器基本常识

1.概念解读 1.1定时器和计数器,电路一样 1.2定时或者计数的本质就是让单片机某个部件数数 1.3当定时器用的时候,靠内部震荡电路数数 1.4当计数器用的时候,书外面的信号,读取针脚的数据 2.定时器怎么定时 定时器的本质原理&a…

定时器详解

1. 什么是定时器(timer) 定时器实际上就是Soc当中的一个内部外设。 (1)定时器与计数器 定时器常与计数器扯到一起,计数器也是soc当中的一个内部外设,计数器顾名思义是用来计数的,就和我们的秒…

定时器(Timer)

一、定时器是什么? 定时器类似于我们生活中的闹钟,可以设定一个时间来提醒我们。 而定时器是指定一个时间去执行一个任务,让程序去代替人工准时操作。 标准库中的定时器: Timer 方法作用void schedule(TimerTask task, long delay)指定dela…

STM32-定时器详解

目录 前言 一、定时器基本介绍 1. STM32定时器 2. 通用定时器功能和特点 3. 计数器模式 4. 定时器工作原理 a.定时器框图 b.时钟产生器部分 c.时基单元 d.输入捕获通道 e.输出比较通道(PWM) 二、定时器中断应用 1.内部时钟选择 2.计数器模式 …

typedef和#define

typedef是c语言中一个重要的关键字其作用是为一种数据类型定义了一个新的名字这里的类型包括(int,char,double 等)和自定义数据类型,通俗一点来说就是为一种数据类型起一个别名 举个例子: 定义一个整型变量a并将其初始化为666&a…

typedef和define的区别、typedef的具体用法

typedef最核心的用法:给数据类型取别名,这个别名既可以是此数据类型的替换,也是指向此数据类型的指针。 具体用法(对普通数据类型取别名): 对结构体数据类型取别名: typedef与define的区别&…

#define与typedef的区别

目录 (1)原理不同 (2)功能不同 (3)作用域不同 (4)对指针的操作不同 (5)补充 a.指针常量 b.常量指针 typedef和define都是替一个对象取一个别名&#x…

C语言中的typedef

C语言中的"typedef" 一、什么是typedef typedef是用于定义新的类型名,在编程中可以用typedef来定义新的类型名来代替已有的类型名 格式: typedef 已有类型名 新的类型名 通俗点说,就是为已有的类型取别名,例如 老鼠&am…

define 与typedef的区别

define 与typedef大体功能都是使用时给一个对象取一个别名,增强程序的可读性,但它们在使用时有以下几点区别: 1.定义不一样 define定义后面不用加分号,并且它的别名在对象的前面 typedef需要加分号,并且它的别后面替…

C语言学习笔记---typedef 简介

在单片机和操作系统中 typedef 会经常用到,它可以为某一个类型自定义名称。和#define比较类似。但是又有不同的地方。 typedef 创建的符号只能用于数据类型,不能用于值。而#define 创建的符号可以用于值。typedef 是由编译器来解释,而不是预…

typedef介绍

[20210330更新]:这篇博客写的时间有点久了:)。本次更新修改了博客内容中的错误和表述不当的地方。 本文介绍C语言中的关键字 typedef 的用法。 1 概述 typedef 为C语言的关键字,作用是为一种数据类型定义一个新名字,这里的数据类型包括内部…

【C语言】typedef的使用

目录 一、什么是typedef 二、typedef用法 1、对于数据类型使用例如: 2、对于指针的使用例如 3、对于结构体的使用 三、进阶typedef 1、数组指针 2、指针函数 3、Int *(*array[3])(int); 4、Void (*funA(int,void(*funB)(int)))(int); 四、Typedef与defin…

ubuntu etc 设置权限777带来的问题

ubuntu etc 设置权限777带来的问题--sudoers权限错误 在一次工作中,在ubutu通过命令行输入 sudo chmod -R 777 /etc 命令,误将etc目录权限更改为了777(rwxrwxrwx) 导致服务器无法ssh远程连接,而且sudo命令无法使用 提…

Linux修改文件权限为777

将文件权限改为777的命令为chmod 777 文件名 777说明: 你可以在linux终端先输入ll,可以看到如: -rwx-r--r-- (一共10个参数) 第一个跟参数跟chmod无关,先不管. 2-4参数:属于user 5-7参数:属于group 8-10参数:属于others 接下来就简单了:r>可读 w>可写 x&…

文件权限777

一个文件的权限为777(linux中 ls -l xxx.xxx (xxx.xxx是文件名,查看的是xxx文件之中的文件权限)) 这三个数字分别表示:不同用户或用户组的权限。 第一个数字表示文件所有者的权限 第二个数字 表示与文件所有者同属一个用户组的其他用户的权限 第三个数…

Linux-权限管理(你听过777、755、644吗)

文章目录 组rwx权限修改权限-chmod修改文件所有者-chown修改文件所在组-chgrp 组 linux 中每个文件有所有者、所在组、其它组的概念。 类似linux 中的每个用户必须属于一个组,不能独立于组外,组的相关操作可参考:Linux-用户管理 所有者 文件…

Linux文件属性的777权限

一、文件属性概述 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用…