博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线程间通信推荐用队列
阅读量:6073 次
发布时间:2019-06-20

本文共 646 字,大约阅读时间需要 2 分钟。

# 队列是数据安全的,意思是自带锁,多线程间通信时,使用队列是好的,不会出现同一个数据被多个线程抢占,使用其他数据类型进行通信则需要自己实现锁功能import queue# 普通先进先出队列# q = queue.Queue()   # 没有参数则表示队列没有指定深度# q.put(1) # 如果队列指定了深度则到了深度后,会阻塞在这里等待队列有空间后再向队列中放入数据# q.put_nowait()  # 队列满了也不会阻塞在这里,但会有异常# q.get() # 从队列中获取数据,无数据后悔阻塞# q.get_nowait()  # 从队列中获取数据,队列空时也不会阻塞,会报异常# 先进后出队列,栈# q = queue.LifoQueue()   # 创建先进后出队列,就是栈# q.put(1)# q.get()# 优先级队列q = queue.PriorityQueue()   # 优先级队列q.put((20, 'a'))    # 20表示优先级,值越小,优先级越高,越先被get获取到。第二个参数为值q.put((10, 'ee'))q.put((10,'c')) # 同样等级优先级的,则按照值的ascii码优先级,同优先级下,值的ascii码优先级越高的,越先被get到q.put((30, 'cb'))print(q.get())  # (10, 'c')

 

转载于:https://www.cnblogs.com/whylinux/p/9865181.html

你可能感兴趣的文章
SwiftJson 实现网络数据的加载与解析并实现简单的轮播
查看>>
Oracle中执行动态SQL(execute immediate)
查看>>
Ubuntu11.10下安装Tomcat7
查看>>
我的友情链接
查看>>
c语言:获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。...
查看>>
c语言:&&和||的关系
查看>>
第二周作业
查看>>
史上最长的电话报修
查看>>
python字符串格式化
查看>>
4月26日
查看>>
我的友情链接
查看>>
移动广告平台:KeyMob广告
查看>>
Android中常用的五种布局
查看>>
mongodb Explain and Index
查看>>
构建内网的MySQL的yum源
查看>>
Ansible之十一:变量详解
查看>>
LeetCode283. Move ZeroesC语言
查看>>
Loadrunner进行md5加密方法
查看>>
Essential Grid for ASP.NET MVC
查看>>
Mobiscroll 三级联动地区选择
查看>>