多进程

multiprocessing模块提供了一个Process类代表一个进程对象。 在创建子进程时,只需要传入一个执行函数 和 函数的参数,即可创建一个 Process 实例。 用start()方法启动此进程即可。

如果要启动大量的子进程,可以用进程池 pool 的方法批量创建子进程。Pool对象调用join()方法会等待所有子进程执行完毕,在调用之前必须先调用close(),在调用完close()后就不能继续添加新的Proess了。
Pool的默认大小是CPU的核数。

进程间通信

subprocess 模块可以非常方便地启动一个子进程,然后控制其输入与输出 。

Python的multiprocessing模块包装了底层的机制,提供了Queue,Pipes等多种方式交换数据。

多线程

使用模块 threading
启动一个线程就是将一个函数传入并创建 Thread实例,然后调用Start执行。