Python的多进程,python是单进程还是多进程

  Python的多进程,python是单进程还是多进程

  什么是进程、线程,以及在真实场景中使用它们?进程是系统为计算机中程序所在数据集上的执行活动分配和调度资源的基本单位,是操作系统结构的基础。简单来说,执行的程序就是一个进程。

  线程:操作系统可以调度操作的最小单位。包括在流程中,它是流程的实际行为单元。

  实际场景:

  首先要明确,多进程和多线程都是可以“同时完成多个任务”的。假设任务A和任务B同时执行,执行过程可以分为以下两种情况:

  如果任务A和任务B都需要自己的资源在下面执行,那么一定是多进程的。)任务A建楼需要工人和建材,任务B建桥也需要工人和建材。同时执行这两项任务需要两倍的资源)。

  如果任务A和任务B都是公用的,并且可以聚合资源运行,则多线程优先。)任务A需要水壶和加热工具烧水泡茶,任务B也需要水壶和加热工具烧水洗碗。这两个任务可以通过共享一个资源而不使用多个进程来完成)。

  多线程和多进程的区别相同点:

  1.线程和进程处理多个任务,所以一个代码可以同时执行多个任务;

  2.程序的复杂度增加,如果任务之间有关联,还涉及到同步和互斥的相关技术;

  不同点:

  1.多进程占用系统资源多,多线程占用系统资源少;

  2.每个进程都有独立完整的用户空间,每个线程本身占用的堆栈空间很小,这取决于同时放置的进程的资源空间;

  3.由于进程的独立性,进程间通信需要依靠一个公共介质(文件/内存)来与一个进程下的多个线程共享进程资源。虽然没有通信这个词,但是可以防止线程之间的资源竞争(互斥/同步)。

  4.多个进程之间的协作主要依靠通信和同步机制,而多个线程之间的协作主要依靠互斥和同步机制(而且进程和线程同步互斥的控制方式完全不同);

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: