Python多线程、多进程

1、from  multiprocessing import Process ;  from  threading import Thread

2、进程之间的数据传输 ,一般会使用到pipes, queue

def proc1(pipe):

     for i in xrange(10000):

             pipe.send(i)

def proc2(pipe):

      while True:

         print "proc2 rev:", pipe.recv()

pipe = Pipe()

Process(target=proc1, args=(pipe[0],)).start()

Process(target=proc2, args=(pipe[1],)).start()

Pipe(True)返回的是两个进程,通信就是基于这两个进程之间的

3、进程之间的queue 应该使用multiprocessing.Queue  

4、进程之间的数据共享 manage 

 from multiprocessing import Process, Manager

 manager = Manager()

 dct = manager.dict()

 lst = manager.list(range(5,10))

thread.join()方法,其实是要求主线程等待,别执行,等我这个子线程执行完了再执行

thread.setDaemon 方法,是设置这个子线程跟随主线程,主线程结束则子线程也结束

主线程的结束是等所有的子线程都执行结束后,主线程就结束了。

原文地址:https://www.cnblogs.com/yingchen/p/8507451.html