您好,欢迎来到暴趣科技网。
搜索
您的当前位置:首页Python的multiprocessing一解

Python的multiprocessing一解

来源:暴趣科技网


Python的multiprocessing :

Python的该库是产生多个进程,首先什么是进程?进程有着自己的线程集合和资源集合。所以将multiprocessing.Queue 放在全局变量,是不起作用的, 两个进程会分别拷贝一份到自己的资源块内, 分别执行。

import time, os, socket import multiprocessing

# import Queue

# q = Queue.Queue(maxsize = 100) q = multiprocessing.Queue()

def Aet(): print 'Aet...' global q host = '125.216.241.**' port = 8001 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print '---1' s.bind((host, port)) print '---2' s.listen(1) print '---3' conn, addr = s.accept() print 'begin.....' while 1: data = conn.recv(1024) if not data: break print 'I have recv: ', data q.put(data) print 'q size is: ', q.qsize() conn.close()

def Write(): print 'Write....' global q

while 1: if q.empty(): time.sleep(3) print 'eeeeeee' else: data = q.get() print 'haha..., this is: ', data

if __name__ == '__main__': thread = [Aet, Write] pool = multiprocessing.Pool(processes=2) for th in thread: pool.apply_async(th) pool.close() pool.join() print 'the end...'

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoquwan.com 版权所有 湘ICP备2024080961号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务