[b0027] python 归纳 (十二)_并发队列Queue的使用
# -*- coding: UTF-8 -*-
"""
学习队列 Queue 总结:
1. 队列可以设置大小,也可以无限大小
2. 空了,满了,读写时可以阻塞,也可以报错
3. 队列中可以存储不同的数据类型对象
4. 队列的实现大量用到 线程模块 threading ,说明适用多线程之间的数据共享操作
不确定是否适合多进程之间的数据共享操作
5. 队列的实现用到锁操作,acquire,release,wait,notify 不需要在个人代码中使用 使用:
1. 创建队列对象 myqueue = Queue.Queue(maxsize=2)
2. 往队列写数据 myqueue.put(data)
3. 从队列读数据 myqueue.get()
"""
import Queue # size<=0,表示队列无限长度
myqueue = Queue.Queue(maxsize=2) myqueue.put(5)
myqueue.put("ab") # 支持不同的类型
print "flag1"
# myqueue.put("cd") # 队列满了,会阻塞
# myqueue.put("cd",False) # 队列满了,会报错 print "flag2"
print myqueue.qsize() # 队列大小
print myqueue.get()
print myqueue.get()
print myqueue.qsize() # 队列大小 print myqueue.get() # 队列空了,会阻塞
print myqueue.get(True) # 队列空了,会阻塞
print myqueue.get(False) # 队列空了,抛出异常 print "flag3" """
Out: flag1
flag2
2
5
ab
0
阻塞....
"""
[b0027] python 归纳 (十二)_并发队列Queue的使用的更多相关文章
- [b0029] python 归纳 (十四)_队列Queue实现生产者消费者
# -*- coding: UTF-8 -*- """ 多线程的生产者,消费者 使用队列Queue """ import Queue imp ...
- [b0033] python 归纳 (十八)_队列Queue在多线程中使用(二)
# -*- coding: UTF-8 -*- """ 多线程同时读队列 使用 join(), task_done() 逻辑: 3个子线程并发 从有6个数据的队列中取数据 ...
- [b0034] python 归纳 (十九)_线程同步_条件变量
代码: # -*- coding: utf-8 -*- """ 学习线程同步,使用条件变量 逻辑: 生产消费者模型 一个有3个大小的产品库,一个生产者负责生产,一个消费者 ...
- [b0031] python 归纳 (十六)_线程同步_锁
# -*- coding: utf-8 -*- """ 学习 多线程同步 使用锁 threading.Lock() 逻辑: 2 个线程,操作同一个整型变量,一个加法,另外 ...
- [b0030] python 归纳 (十五)_多进程使用Pool
1 usePool.py #coding: utf-8 """ 学习进程池使用 multiprocessing.Pool 总结: 1. Pool 池用于处理 多进程,并不 ...
- Python笔记(十二)_文件
文件的打开模式 'r':以只读的方式打开文件(默认) 'w':以写入的方式打开文件,会覆盖已存在的文件 'x':用写入的方式打开文件,如果文件已存在,会抛出异常 'a':用写入的方式打开文件,如果文件 ...
- [CSAPP笔记][第十二章并发编程]
第十二章 并发编程 如果逻辑控制流在时间上是重叠,那么它们就是并发的(concurrent).这种常见的现象称为并发(concurrency). 硬件异常处理程序,进程和Unix信号处理程序都是大家熟 ...
- 初学 Python(十二)——高阶函数
初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 ...
- CSAPP:第十二章 并发编程
CSAPP:第十二章 并发编程 12.1 线程执行模型12.2 多线程之间并发通信12.3 其他并发问题 使用应用级并发的应用程序称为并发程序.现代操作系统提供三种基本的构造并发程序的方法: 进程 ...
随机推荐
- 松软科技带你学开发:SQL--FIRST() 函数
FIRST() 函数(原文链接 松软科技:www.sysoft.net.cn/Article.aspx?ID=3731) FIRST() 函数返回指定的字段中第一个记录的值. 提示:可使用 ORDER ...
- ES6-数字操作,判断是否是整数,判断最大值最小值
S中只有一种类型数,即64位(1bit 的符号位,11bits 的指数部分 ,以及52bits 的小数部分)双精度浮点数,当整数数值过大时,就会发生精度丢失. 所谓安全整数即能够唯一确定的数字,即能够 ...
- ORACLE等待事件:read by other session
read by other session简介 官方关于read by other session的介绍如下: When information is requested from the datab ...
- 《目标:OKR与KPI漫谈》
一.为什么要写这个 写这个题目其实是很偶然的,因为到年中了,公司的同事和领导都要看一下上半年的OKR的完成情况,同时也要制定下下半年的OKR,突然想到了之前在天津的公司时,大家说的是KPI,现在说的是 ...
- vue预览本地图片
<template> <div> <a href="javascript:void(0);" @change="addImage" ...
- RabbitMQ学习笔记(六、RabbitMQ进阶)
目录: 性能 存储机制 内存及磁盘告警 性能: 影响RabbitMQ性能的因素有很多,主要的分为硬件性能与软件性能. )硬件性能:如网络.内存.CPU等等. )软件性能:消息持久化.消息确认.路由算法 ...
- CSP-S 2019初赛前后小记
Preface 做完了初赛前的最后一场模拟赛,虽然这场做的挺好.但由于之前的一场难度很高,再加上自己犯了一些ZZ错误因此对初赛也有了一些不安之情 想起去年自己对于初赛的态度,实在是愧疚虽然去年文化课弃 ...
- es6一句话拾遗
Symbol最大的作用就是用于消除魔术字符串: Set跟数组的最大区别,就是Set的成员都是唯一的,没有重复:(方法:add(value),has,delete,clear) Map跟对象的最大区别, ...
- Fira Code:适合程序员的编程字体
#Fira Code Fira 是 Mozilla 公司 主推的字体系列.Fira Code 是其中的一员,专为写程序而生.出来具有等宽等基本属性外,还加入了编程连字特性(ligatures). Fi ...
- Yii2处理密码加密及验证
在Yii2中提供了密码加密以及验证的一系列方法,方便我们的使用,它使用的是bcrypt算法.查看源码我们可以发现它使用的是PHP函数password_hash()和crypt()生成. 加密: /** ...