上一篇文章: Python进程专题完结篇:多进程处理的通常建议
下一篇文章: Python线程专题1:多线程使用的必要性
进程:可以完成多任务,好比在一个电脑上能够运行多个软件。线程:也可以完成多任务,但通常是在同一个程序内完成多任务,例如qq打开多个页面。segmentfault
对吧方向 | 进程 | 线程 |
---|---|---|
是否能够完成多任务 | 能够,好比一个电脑上运行多个相同软件 | 能够,好比在一个软件内打开多个页面 |
定义 | 系统进行资源分配和调度的一个独立单位。 | 是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能够独立运行的基本单位。除了一些运行比不可少的资源外(如程序计数器、一组寄存器和栈),线程基本不用有其它系统资源,它只和同进程的其它线程共享进程的公共资源。因为占用资源少,也使得多线程程序并发比较高。 |
最值 | 一个程序至少有一个进程 | 一个进程至少有一个线程 |
运行效率 | 进程在执行过程当中拥有独立的内存单元,相对线程会慢 | 多个线程共享内存,极大提升了程序运行效率。 |
运行环境 | 内部必须包含一个线程 | 必须在进程中运行 |
优缺点 | 利于资源的管理和保护,但执行开销大 | 执行开销小,单不利于资源的管理和保护 |
Python线程专题1:多线程使用的必要性
Python线程专题2:多线程共享全局变量
Python线程专题3:thread对象
Python线程专题4:Timer对象、Lock对象、Rlock对象
Python线程专题5:信号量与有边界的信号量
Python线程专题6:事件
Python线程专题7:条件变量
Python线程专题8:使用锁的注意事项
Python线程专题9:线程终止与挂起
Python线程专题10:实用工具函数
Python线程专题11:queue
Python线程专题12:多线程按顺序执行多线程