多进程和多线程

Posted whcp855

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多进程和多线程相关的知识,希望对你有一定的参考价值。

多进程和多线程;

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

 

以上是关于多进程和多线程的主要内容,如果未能解决你的问题,请参考以下文章

什么是多线程,多进程?

代码片段:Shell脚本实现重复执行和多进程

多线程和多进程的区别

python 多进程和多线程配合

Python多线程和多进程谁更快?

多线程和多进程通信原理