线程-队列

Posted hedger-lee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程-队列相关的知识,希望对你有一定的参考价值。

线程队列

queue

使用import queue,用法与进程Queue一样

queue.Queue

先进先出:队列模型

queue.Queue(maxsize=0) 
#先进先出

import queue

q=queue.Queue()
q.put(‘first‘)
q.put(‘second‘)
q.put(‘third‘)

print(q.get())
print(q.get())
print(q.get())

queue.LifoQueue

后进先出:栈模型

queue.LifoQueue(maxsize=0) 
#last in fisrt out

import queue

q=queue.LifoQueue()
q.put(‘first‘)
q.put(‘second‘)
q.put(‘third‘)

print(q.get())
print(q.get())
print(q.get())

queue.PriorityQueue

可设置优先级

queue.PriorityQueue(maxsize=0) 
#存储数据时可设置优先级的队列

import queue

q=queue.PriorityQueue()
#put进入一个元组,元组的第一个元素是优先级(通常是数字,也可以是非数字之间的比较),数字越小优先级越高
q.put((20,‘a‘))
q.put((10,‘b‘))
q.put((30,‘c‘))

print(q.get())
print(q.get())
print(q.get())

以上是关于线程-队列的主要内容,如果未能解决你的问题,请参考以下文章

# Java 常用代码片段

Android UI 线程消息队列调度顺序

C#多线程处理多个队列数据的方法

图解为什么要使用线程池?

newCacheThreadPool()newFixedThreadPool()newScheduledThreadPool()newSingleThreadExecutor()自定义线程池(代码片段

来自dispatch_async全局崩溃的C函数调用,但在主队列上工作