当前位置: 首页 > news >正文

移动网站建站视频教程上海排名前十的装修公司

移动网站建站视频教程,上海排名前十的装修公司,一个公司的网址怎么弄,wordpress 提取文章段落一、Queue模块的知识点思维导图 二、Queue模块常用函数介绍 queue模块是内置的,不需要安装直接导入就可以了。 (1)创建一个Queue对象 import queue# 创建一个队列实例 q queue.Queue(maxsize20) # 可选参数,默认为无限大&am…

一、Queue模块的知识点思维导图

二、Queue模块常用函数介绍

queue模块是内置的,不需要安装直接导入就可以了。

(1)创建一个Queue对象

import queue# 创建一个队列实例
q = queue.Queue(maxsize=20)   # 可选参数,默认为无限大

(2)入队

# 导入Python标准库中的queue模块,该模块提供了线程安全的队列数据结构
import queue# 创建一个Queue对象,可以理解为初始化一个队列,参数maxsize默认为0,表示队列大小无限制
q = queue.Queue()# 使用for循环将数字0到9依次放入队列中
# put方法用于将元素放入队列尾部,即执行入队操作
for i in range(10):q.put(i)  # 这里每执行一次,就将i(0-9)作为一个元素放入队列中# 此时,队列q中按照先进先出(FIFO)原则存储了数字0-9

(3)出队

# 导入Python内置的queue模块,其中包含线程安全的队列数据结构
import queue# 创建一个Queue对象,即初始化一个空队列
q = queue.Queue()# 使用for循环将0到9这10个整数依次入队
# put方法将元素添加到队列的末尾
for i in range(10):q.put(i)  # 每次循环都将i作为元素放入队列中

(4)判空

# 导入Python内置的queue模块,其中包含线程安全的队列数据结构
import queue# 创建一个Queue对象,即初始化一个空队列
q = queue.Queue()# 使用for循环将0到9这10个整数依次入队
# put方法将元素添加到队列的末尾
for i in range(10):q.put(i)  # 每次循环都将i作为元素放入队列中# 使用while循环检查队列是否为空
# 当队列不为空时,持续执行循环体内的操作
while not q.empty():  # 使用get方法从队列中取出并移除一个元素# 默认情况下,get方法会阻塞直到有元素可用(除非设置了非阻塞模式)data = q.get()  # 打印从队列中取出的元素print(data)# 当队列为空时,while循环结束
# 此时所有之前入队的整数0-9会被按照先进先出(FIFO)的原则依次出队并打印

(5)判满

import queue# 初始化一个容量为5的队列
q = queue.Queue(maxsize=5)# 入队操作
for i in range(10):# 在入队前检查队列是否已满if q.full():print("Queue is full, cannot insert more items.")else:q.put(i)# 若队列已满,可以选择等待一段时间后重试或其他处理策略if q.full():time.sleep(1)  # 假设休眠一秒后重试continuewhile not q.empty():data = q.get()print(data)

(6)获取队列长度

import queue# 创建一个队列
q = queue.Queue()# 将10个元素放入队列
for i in range(10):q.put(i)# 打印队列长度
print(f"Queue size before processing: {q.qsize()}")# 处理队列中的元素,同时打印队列长度
while not q.empty():data = q.get()print(f"Processing element: {data}, current queue size: {q.qsize()}")# 在处理过程中,每次从队列中取出一个元素后,队列长度都会减一

(7)task_done() 和 unfinished_tasks

import queue
import threading# 创建一个队列
q = queue.Queue()# 生产者线程将任务放入队列
def producer():for i in range(10):q.put(i)print(f"Producer added task: {i}")# 消费者线程从队列中取出并处理任务
def consumer():while True:task = q.get()  # 获取任务print(f"Consumer started working on task: {task}")# 这里模拟任务处理过程# 实际应用中,此处应替换为实际的任务处理逻辑process_task(task)# 任务处理完毕,调用 task_done()q.task_done()print(f"Consumer finished task: {task}")# 检查队列是否为空且所有任务都已经完成if q.empty() and q.unfinished_tasks == 0:print("All tasks completed, exiting consumer.")break# 创建并启动生产者线程
p = threading.Thread(target=producer)
p.start()
p.join()  # 确保生产者线程完成任务# 创建并启动消费者线程
c = threading.Thread(target=consumer)
c.start()
c.join()  # 等待消费者线程处理完所有任务并退出# 由于消费者线程在所有任务完成后退出,所以在此处不需要再次检查队列状态

(8)join

import queue
import threading# 创建一个队列
q = queue.Queue()# 生产者线程将任务放入队列
def producer():for i in range(10):q.put(i)print("Producer has added all tasks.")# 消费者线程从队列中取出并处理任务
def consumer():while True:task = q.get()  # 获取任务print(f"Consumer started working on task: {task}")# 这里模拟任务处理过程# 实际应用中,此处应替换为实际的任务处理逻辑process_task(task)# 任务处理完毕,调用 task_done()q.task_done()print(f"Consumer finished task: {task}")# 检查队列是否为空if q.empty():print("No more tasks in the queue.")break# 创建并启动生产者线程
p = threading.Thread(target=producer)
p.start()
p.join()  # 确保生产者线程完成任务添加# 创建并启动消费者线程
c = threading.Thread(target=consumer)
c.start()# 主线程等待所有任务完成
q.join()  # 阻塞主线程,直到所有从队列中取出的任务都被标记为完成print("All tasks have been processed and marked as done.")

http://www.yayakq.cn/news/973475/

相关文章:

  • 广州建造网站公司公司注册地址是营业执照上的地址吗
  • 网站推广的好处安徽海通建设集团网站
  • 手机网站免费做app网站建设环境分析
  • 攀枝花仁和住房和城乡建设局网站郑州模板建站平台
  • 上海品牌网站制作晋中集团网站建设
  • 医疗网站建设中心怎样建立一个网站
  • 关于做网站的总结2015军考网站建设
  • 聊城网站营销宿迁房产信息公示网
  • 如何使用爱站网优化手机性能的软件
  • 网站建设公司 保证完成 wordpress导航主题模板
  • 为什么要选择高端网站定制装修网站建设方案百度文库
  • 临海网站建设博宇娱乐网站建设
  • 肇庆有哪家做企业网站的wp商城
  • seo如何提高网站排名跨境电商网店
  • 十堰网站搜索优化价格wordpress 页面伪静态
  • 濮阳住房和城乡建设部网站门户信息类网站建设
  • 成都网站建设工作wordpress4.0伪静态
  • 网站内容页怎么设计帝国cms做网站流程
  • 北京网页设计制作网站网站后台管理页面下载
  • 有哪个网站可以学做吃的2022客翻番的推广方法
  • 重庆建网站计划织梦网站修改使用
  • 网站各种按钮代码网站挂马怎么办
  • 24小时网站建设官网设计需要多少钱
  • 深圳中心网站建设外军网站建设
  • 大型企业网站制作wordpress图片和相册
  • 建设检测人员证书查询网站国家企业信用公示信息系统官网app
  • 网站如何做伪静态页面网站建设费用计入哪个科目
  • 网站内页权重石柱县建设局网站
  • 淮北建设银行官方网站网站的安全度
  • 邢台建站企业邮箱隆尧做网站