上一篇文章:
Python进程专题完结篇:多进程处理的一般建议下一篇文章:
Python线程专题1:多线程使用的必要性
进程VS线程
进程:能够完成多任务,比如在一个电脑上可以运行多个软件。
线程:也能够完成多任务,但一般是在同一个程序内完成多任务,例如qq打开多个页面。
对吧方向 | 进程 | 线程 |
---|---|---|
是否可以完成多任务 | 可以,比如一个电脑上运行多个相同软件 | 可以,比如在一个软件内打开多个页面 |
定义 | 系统进行资源分配和调度的一个独立单位。 | 是进程的一个实体,是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:多线程按顺序执行