进程间的通信
程序员文章站
2022-07-05 15:22:28
使用 multiprocessing 里的 Queue() ......
使用 multiprocessing 里的 queue()
import multiprocessing def download_from_web(q): """下载数据""" # 模拟从网上下载的数据 data = [11, 22, 33, 44] # 向队列中写入数据 for temp in data: q.put(temp) print("下载器已经下载完了数据并且存入到队列中") def analysis_data(q): """数据处理""" waiting_analysis_data = list() while true: # 从队列中获取数据 data = q.get() waiting_analysis_data.append(data) # 判断队列是否为空 if q.empty(): break # 模拟数据处理(如单核cpu只能打印[11]) print(waiting_analysis_data) def main(): # 1.创建一个队列 q = multiprocessing.queue() # 2.创建多个进程,将队列的引用当做实参进行传递到里面 p1 = multiprocessing.process(target=download_from_web, args=(q,)) p2 = multiprocessing.process(target=analysis_data, args=(q,)) p1.start() p2.start() if __name__ == "__main__": main()
推荐阅读
-
arcmap下的多进程脚本
-
如何用supervisor守护php-fpm主进程以实现php-fpm的自动重启
-
4.7、线程间的同步互斥
-
PHP输出当前进程所有变量常量等的方法介绍
-
php中pcntl_fork创建子进程的方法实例
-
More Effective C++----(12)理解"抛出一个异常"与"传递一个参数"或"调用一个虚函数"间的差异
-
读《 NFC:Arduino、Android与PhoneGap近场通信》 有感——智能的电磁场交互
-
进程和子进程及端口的常用命令
-
Oracle GoldenGate extract进程的工作方式
-
tsvulfwman.exe是什么进程 tsvulfwman的清除方法