首页 > 其他分享 >Day39.队列介绍

Day39.队列介绍

时间:2024-07-18 15:31:17浏览次数:11  
标签:get 队列 Day39 介绍 put 40 print todo

1.队列介绍_队列中如果没有数据的话,get方法会原地阻塞,程序会卡住

2.队列介绍_.get_nowait()方法, 队列中没有数据直接报错

3.队列介绍_.get(3)没有数据后等待3秒之后报错

4.队列介绍_.full()判断队列是否满了和.empty()判断队列是否空了

5.队列介绍_使用捕获异常提示队列没有位置的情况

'''进程间通信'''
# todo 队列Queue模块
'''
队列:先进先出
堆栈:先进后出
'''
from multiprocessing import Queue

# todo 创建一个队列
q = Queue(5)   # todo 括号内可以传数字,表示生成的队列最大可以同时存放的数据量

# todo 往队列中存数据
q.put(111)
q.put(222)
q.put(333)
# print('判断当前队列是否满了'.center(40, '-'))
# print(q.full())     # todo 判断当前队列是否满了
# print('判断当前队列是否空了'.center(40, '-'))
# print(q.empty())    # todo 判断当前队列是否空了    
q.put(444)
q.put(555)
# print('判断当前队列是否满了'.center(40, '-'))
# print(q.full())     # todo 判断当前队列是否满了
# # q.put(666)        # todo 当队列数据放满了以后,如果还有数据在程序中会阻塞,知道有位置让出来,不会报错
# print('判断当前队列是否空了'.center(40, '-'))
# print(q.empty())    # todo 判断当前队列是否空了 
'''
存取数据,存是为了更好的取
千方百计的存、简单快捷的取
'''

# todo 去队列中读取数据
v1 = q.get()
v2 = q.get()
v3 = q.get()
v4 = q.get()
v5 = q.get()
# v6 = q.get()                          # todo 队列中如果没有数据的话,get方法会原地阻塞,程序会卡住
# v6 = q.get_nowait()                   # todo .get_nowait()方法, 队列中没有数据直接报错
# print('loading3s...'.center(40, '-'))
# v6 = q.get(timeout=3)                 # todo .get(3) 没有数据后原地等待3秒,之后在报错

try:
    v6 = q.get(timeout=3)
    print(v6)
except:
    print('队列没位置'.center(40, '-'))


'''
q.full()
q.empty()
q.get_nowait()
在多进程的情况下不精确
'''

标签:get,队列,Day39,介绍,put,40,print,todo
From: https://www.cnblogs.com/vless/p/18309619

相关文章

  • 【数据结构】队列:链表实现
    队列:链表实现结构描述:typedefintDataType;typedefstructQueueNode{DataTypeA;structQueueNode*Next;}Node;classQueueLinked{public://队头、队尾指针Node*Front;Node*Next;//队列操作//把元素X入队voidPush(Dat......
  • 【数据结构】循环队列:链表实现
    循环队列:链表实现结构描述typedefintDataType;typedefstructQueueNode{DataTypeA;structQueueNode*Next;}Node;classQueueCycLinked{public://队头、队尾指针Node*Front;Node*Next;//队列操作//把元素X入队voidPu......
  • Day39.互斥锁
    1.互斥锁_模拟多用户抢票功能流程创建文本文件data,加入字典{"ticket_mum":0},设定余票数'''互斥锁(Lock):多个进程操作同一份数据的时候,会出现数据错乱的问题,针对上述问题,解决方式就是加速处理:核心:将并发变成串行,牺牲效率但是保证了数据的安全'''fromm......
  • RabbitMQ——死信队列介绍和应用
    死信和死信队列的概念什么是死信?简单来说就是无法被消费和处理的消息。一般生产者将消息投递到broker或者queue,消费者直接从中取出消息进行消费。但有时因为某些原因导致消息不能被消费,导致消息积压在队列中,这样的消息如果没有后续的处理就会变成死信,那么专门存放死信的队列就是......
  • NTP时间同步服务器(卫星时钟同步装置)基本架构介绍
    NTP时间同步服务器(卫星时钟同步装置)基本架构介绍NTP时间同步服务器(卫星时钟同步装置)基本架构介绍京准电钟官微——ahjzsz摘要:基于北斗的全球卫星系统(BDS)的高精度同步时钟信号在电网广域测量系统(WAMS)等很多领域具有广泛用途;但在实际应用中存在因卫星失锁等原因导致同步时钟信号......
  • 一个故事理解消息队列-上
    前段时间,知识星球里一位同学给我分享了他对消息队列的理解,并且用一个故事形象的表述了消息队列的作用。看完他的表述,我觉得用故事来描述技术组件作用的方式很有意思,也更容易让人理解。这篇文章,借用他的故事,为大家简单介绍一下消息队列。 消息队列的故事假设现在有一本技术......
  • PSINS工具箱函数介绍——gpsplot
    介绍gpsplot函数的原理和作用程序源码functiongpsplot(vpGPS,ts)%GPSplot.%%Prototype:gpsplot(vpGPS,ts)%Inputs:vpGPS-[vnGPS,posGPS,tag,t]or[posGPS,tag,t]%thetagcolumnmaynotexist.%ts-GPSsamplinginterva......
  • ApplicationContext 详细介绍
    一、概述ApplicationContext是Spring框架中的一个核心接口,它扩展了BeanFactory接口,并提供了更全面的功能。ApplicationContext不仅包含了BeanFactory的所有功能,还添加了国际化支持、资源访问、事件传播、以及更高级的容器特性,如自动装配和生命周期管理等。它是Spring应用中的核心......
  • 用数组模拟环形队列——2
    在上一篇的文章中我们介绍了队列的使用,但是普通的队列存在资源浪费的问题,为了解决这个问题,又提出了环形队列,今天,我们就详细介绍一下环形队列的使用方法。环形队列的特点:1.队列的存储结构是一个环形结构,即队列的头尾相连,形成一个环形。2.队列有固定的大小,通常用数组来实现。......
  • 【OCPP】ocpp1.6协议第5.5章节Clear Charging Profile的介绍及翻译
    目录5.5清除充电配置ClearChargingProfile-概述ClearChargingProfile请求ClearChargingProfile响应操作流程适用场景5.5清除充电配置ClearChargingProfile-原文译文5.5清除充电配置ClearChargingProfile-概述OCPP1.6协议中的第5.5章节主要讲的是“Cl......