程序处理时间太长:多进程和多线程优化

现在的 PC 都是多核的,使用多线程能充分利用 CPU 来提供程序的执行效率。

线程

线程是一个基本的 CPU 执行单元。它必须依托于进程存活。一个线程是一个execution context(执行上下文),即一个 CPU 执行时所需要的一串指令。

进程

进程是指一个程序在给定数据集合上的一次执行过程,是系统进行资源分配和运行调用的独立单位。可以简单地理解为操作系统中正在执行的程序。也就说,每个应用程序都有一个自己的进程。

每一个进程启动时都会最先产生一个线程,即主线程。然后主线程会再创建其他的子线程。

两者的区别

线程必须在某个进行中执行。

  • 一个进程可包含多个线程,其中有且只有一个主线程。
  • 多线程共享同个地址空间、打开的文件以及其他资源。
  • 多进程共享物理内存、磁盘、打印机以及其他资源。
  • 进程之间不共享数据的。如果进程之间需要进行通信,则要用到Queue模块或者Pipi模块来实现。

python并行处理任务时 该用多进程?还是该用多线程?_David的技术博客_51CTO博客

你可能感兴趣的:(程序处理时间太长:多进程和多线程优化)