1. 简述进程间如何通信.
进程间通信必须使用Queue来通信,Queue本身是一个消息列队程序,
# 我们以Queue为例,在子进程中创建两个子进程,
# 一个往Queue里写数据,一个从Queue里读数据:主进程创建Queue,
# 一个子进程负责写入,一个子进程负责写出
# 在主进程中实例化Queue对象q把q作为一个参数传递给每一个进程
# 最终所有的数据都写入和读完
2. 什么是进程池?进程池如何实现.
创建进程需要消耗时间,销毁进程也需要消耗时间。第二即便开启了成千上万的进程,操作系统也不能让他们同时执行,这样反而会影响程序的效率。因此我们不能无限制的根据任务开启或者结束进程定义一个池子,在里面放上固定数量的进程,有需求来了,就拿一个池中的进程来处理任务,等到处理完毕,进程并不关闭,而是将进程再放回进程池中继续等待任务。如果有很多任务需要执行,池中的进程数量不够,任务就要等待之前的进程执行任务完毕归来,拿到空闲进程才能继续执行
p.apply_async(func [, args [, kwargs]]):在一个池工作进程中执行func(*args,**kwargs),然后返回结果。
3. 尝试仿造tcp多进程server的代码写出udp多进程server