多进程和多线程;
多进程:电脑有几核cpu、就只能同时运行几个进程、多个进程可以通过上下文切换进行调度。
python里的多线程同时也只有一个线程在运行、利用不了多核cpu--全局解释器锁GLI。
1、CPU密集型任务,用多进程 ->消耗CPU比较多
2、IO密集型任务,用多线程 ->消耗io比较多
1、多线程,线程之间数据是共享的
2、多进程,每个进程之间数据是独立的
协程,是一个线程,
nginx也是一个线程
多进程实现:
multiprocessing模块,提供了一个Process类来创建进程对象。
创建子进程时,只需要传入一个需要执行的函数和函数的参数,创建一个Process实例,用start()方法启动这个实例
from multiprocessing import Process import time def coding(language): for i in range(5): print('{} coding'.format(language),end=' | ') time.sleep(1) if __name__ == '__main__': start = time.time() p = Process(target=coding,args=('python',)) p.start()