GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • 莫烦PYTHON
  • 学习 ▾
  • 推荐学习顺序
  • 交互式学Python
  • 多进程 multiprocessing
  • 多线程 threading
  • 窗口视窗 Tkinter
  • 有趣的机器学习
  • 强化学习 Reinforcement Learning
  • 进化算法 Evolutionary Algorithm
  • Tensorflow
  • PyTorch
  • Theano
  • Keras

This view

  • Original page
  • New address

GeezerVison is showing mofanpy.com — 储存进程结果 Queue | 莫烦Python

  • 支持

📢

莫烦有新起点啦!「莫烦 x 无限可能」— 关于 AI、行业、产品、教育的经验思考,欢迎来新站看看 →

切换视频源:


« join 功能 GIL 不一定有效率 »

储存进程结果 Queue

作者: Leoliao 编辑: 莫烦 发布于: 2016-01-01

学习资料:

  • 相关代码

代码实现功能,将数据列表中的数据传入,使用四个线程处理,将结果保存在Queue中,线程执行完后,从Queue中获取存储的结果

导入线程,队列的标准模块¶

定义一个被多线程调用的函数¶

函数的参数是一个列表l和一个队列q,函数的功能是,对列表的每个元素进行平方计算,将结果保存在队列中

定义一个多线程函数¶

在多线程函数中定义一个Queue,用来保存返回值,代替return,定义一个多线程列表,初始化一个多维数据列表,用来处理:

在多线程函数中定义四个线程,启动线程,将每个线程添加到多线程的列表中

分别join四个线程到主线程

定义一个空的列表results,将四个线运行后保存在队列中的结果返回给空列表results

完整的代码¶

最后运行结果为:


降低知识传递的门槛

莫烦经常从互联网上学习知识,开源分享的人是我学习的榜样。 他们的行为也改变了我对教育的态度: 降低知识传递的门槛。

我组建了微信群,欢迎大家加入,交流经验,提出问题,互相帮持。 扫码后,请一定备注"莫烦",否则我不会同意你的入群申请。

wechat
« join 功能 GIL 不一定有效率 »
    教程目录

    多线程 (Threading)

      多线程

    • 什么是多线程 Threading
    • 添加线程 Thread
    • join 功能
    • 储存进程结果 Queue
      • 导入线程,队列的标准模块
      • 定义一个被多线程调用的函数
      • 定义一个多线程函数
      • 完整的代码
    • GIL 不一定有效率
    • 线程锁 Lock
    You are visitor 01402503 — GeezerVison does not store the pages you look up.
    Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.