多进程和多线程

多进程和多线程;

多进程:电脑有几核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()

 

posted @ 2020-06-29 08:57  whcp  阅读(149)  评论(0)    收藏  举报