Python 3基础教程40-队列-Queue
来源:互联网 发布:西西软件网 编辑:程序博客网 时间:2024/06/05 04:21
本文来介绍下队列的基本使用,队列是Python线程中最常用的数据交换方法。Queue是queue模块下的对象,Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构。本文会用到Queue的put和get方法,put()就是把一个值放入到队列,get()就是从队列取出一个值,看看下面的例子。
import threadingimport timefrom queue import Queuedef job(data,q): for i in range(len(data)): data[i] = data[i]**2 # put方法把结果放入队列,这里不能使用return语句 q.put(data)def exampleFuc(): # 新建一个队列 q = Queue() # 新建一个空的多线程列表 threads = [] # 给出一个数据,到job去计算 data = [[1,2,3],[2,3,4],[3,4,5],[4,5,6]] # for 循环创建一个多线程,大小根据data[]的大小 for x in range(4): t = threading.Thread(target=job, args=(data[x], q)) # 启动线程 t.start() # 把创建线程添加到多线程threads这个列表 threads.append(t) for each_thread in threads: each_thread.join() # 定义一个计算结果列表 results = [] # 把结果分别从队列取出,这里需要取4次 for y in range(4): # q.get()就是从队列取出结果 results.append(q.get()) # 等所以事情完成,就打印结果列表 print(results) exampleFuc()
运行计算结果:============= RESTART: C:\Users\Anthony\Desktop\thread_queue.py =============[[1, 4, 9], [4, 9, 16], [9, 16, 25], [16, 25, 36]]>>>
0 0
- Python 3基础教程40-队列-Queue
- c++ 队列(Queue)基础教程
- python Queue队列例子
- Python队列Queue模块
- python队列Queue
- Python队列Queue
- python队列Queue
- python队列Queue
- python队列queue模块详解
- python学习笔记---queue队列
- 队列(Queue)的python实现及其应用
- python实现stack(栈)和队列(queue)
- python线程优先级队列( Queue)
- python学习之队列(Queue)
- python使用queue队列实现生产者消费者
- Python的condition和阻塞队列Queue
- Python 多线程|Queue队列|生产者消费者模式|
- python队列在Queue,Collection 的基础
- the first one
- 学习,从5.9开始
- 新spring下载
- linux执行上传操作
- char** str的使用
- Python 3基础教程40-队列-Queue
- Let's Encrypt申请认证获取证书
- 自制倒计时插件
- 【linux】时间同步
- 划分树详解
- MAP(Mean Average Precision)
- Bukkit 如何自定义实体/怪物的行为
- JS实现三级联动
- Count the Colors (线段树,暴力)