python多线程与多进程
由于python的内存回收机制不是线程安全的,所以就有了GIL保证每个进程内,同一时刻最多只有一个线程在运行。
于是,对于python的多线程来讲,其实同一时刻依然只有一个线程在运行。而且由于线程切换的缘故,多线程的效率还不及单线程。
对于不需要进行通信,不需要频繁且高并发量地执行的cpu密集型的任务,应当新建进程(multiprocessing
模块)去处理。
参考:http://eli.thegreenplace.net/2012/01/16/python-parallelizing-cpu-bound-tasks-with-multiprocessing/