/Thread_Python

多线程之Python总结

Primary LanguagePython

Thread_Python

多线程之Python总结

Process

Process创建的实例,用start()方法启动进程,用join()方法实现进程间的同步。join()方法可以等待子进程结束后再继续往下运行,通常用于进程间的同步。

Pool

Pool可以提供指定数量的进程供用户调用,默认大小是cpu的核数,当有新的请求提交到pool中时,如果池还没有满,那么就会创建一个新的进程用来执行该请求,但如果池的进程数已经达到规定最大值,那么该请求就会等待,直到池中有进程结束才会创建新的进程来处理它。

进程间的通信

Python的multiprocessing模块包装了底层的机制,提供了Queue、Pipes等多种方式来交换数据。两者的区别在于Pipe常用于两个进程间的通讯而Queue用于多个进程间实现通讯。

Queue通讯

Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传输,有两个方法:put和get进行Queue操作。

Pipes通讯

Pipe常用来在两个进程间进行通信,两个进程分别位于管道的两端。

参考文献

  • Python的进程 by Python绿色通道(公众号)