python之队列

python之队列


一、队列是什么?

1、先进先出
2、后进先出
3、优先级队列

二、使用步骤

1.引入库

1、先进先出 代码如下(示例):

from queue import Queue, LifoQueue, PriorityQueue
# 实例化一个队列对象
q = Queue(6)#可以不限制队列大小
# 队列添加数据:put,put_nowait
q.put('python001')
q.put('python006', timeout=3)  # 参数timeout 设置等待时间
q.put_nowait('pythhn00000')   # 添加数据不等待
#qsize:获取队列中数据的长度
print(
Python调度队列通常用于在特定时间或按一定时间间隔执行任务。在Python中,`sched`模块可用于实现简单的调度队列,`APScheduler`库则提供了更强大和灵活的调度功能。 ### `sched`模块 #### 原理 `sched`模块实现了一个通用事件调度器。它使用一个延迟函数来等待特定的时间,然后执行任务。调度器维护一个按时间排序的任务队列,每次从队列中取出最早的任务执行。 #### 使用方法 ```python import sched import time # 创建调度器对象 s = sched.scheduler(time.time, time.sleep) # 定义要调度的任务 def print_time(): print("任务执行时间:", time.time()) # 安排任务在5秒后执行 s.enter(5, 1, print_time) # 运行调度器 s.run() ``` #### 示例解释 - `sched.scheduler(time.time, time.sleep)`:创建一个调度器对象,`time.time`用于获取当前时间,`time.sleep`用于延迟执行。 - `s.enter(5, 1, print_time)`:安排`print_time`函数在5秒后执行,第二个参数是优先级。 - `s.run()`:启动调度器,开始执行任务。 ### `APScheduler`库 #### 原理 `APScheduler`是一个功能强大的Python调度库,它支持多种调度方式,如固定时间间隔、特定日期和时间、Cron表达式等。它使用线程池或进程池来执行任务,并且可以持久化任务状态,以便在程序重启后继续执行。 #### 使用方法 ```python from apscheduler.schedulers.blocking import BlockingScheduler # 创建调度器对象 scheduler = BlockingScheduler() # 定义要调度的任务 def job(): print('任务执行') # 添加任务,每隔5秒执行一次 scheduler.add_job(job, 'interval', seconds=5) # 启动调度器 try: scheduler.start() except (KeyboardInterrupt, SystemExit): pass ``` #### 示例解释 - `BlockingScheduler()`:创建一个阻塞式调度器,程序会一直运行直到调度器停止。 - `scheduler.add_job(job, 'interval', seconds=5)`:添加一个任务,使用`interval`调度方式,每隔5秒执行一次。 - `scheduler.start()`:启动调度器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姑娘别秃头

你的鼓励是为我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值