python进程使用流程
并发篇-python进程
- python 中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。
- python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,python会完成其它所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。
- multiprocessing支持子进程、通信和共享数据、执行不同形式的同步,提供了Process、Queue、Pipe、Lock等组件。 多进程并行的必要条件 总进程数量不多于 CPU核心数量! 现在运行的程序都是轮询调度产生的并行假象。 但是在Python层面的确获得了并行!
multiprocessing中提供了Process类来生成进程实例
>>>Process([group [, target [, name [, args [, kwargs ] ] ] ] ])
- group分组,实际上不使用;
- target表示调用对象,可以传入方法的名字;
- name是别名,相当于给这个进程取一个名字;
- args表示给调用对象以元组的形式提供参数,比如target是函数a,它有两个参数m,n,那么该参数为args=(m, n);
- kwargs表示调用对象的字典;