python 线程 进程 携程 并行 并发
python 线程 进程 携程 并行 并发
初学者在学习python时,多进程这一块是难点,更别提还有线程、进程和携程的区别了,几个概念好像都差不多,非常容易搞混。在参加面试时,这一块也是面试官经常问到的点,所以,今天就在这里总结一下它们的概念和区别。
进程
进程的概念:
程序的执行实例称为进程。进程就是一个正在执行的程序。
每个进程提供执行程序所需的资源。进程有虚拟地址空间、可执行代码、系统对象的打开句柄、安全上 下文、惟一进程标识符、环境变量、优先级类、最小和最大工作集大小,以及至少一个执行线程。每个进程都由一个线程(通常称为主线程)启动,但是可以从它的任何线程创建额外的线程。
进程是程序在执行时被加载到内存中的实体,进程是程序的一次执行活动,是动态的,学过操作系统的小伙伴应该对进程的概念有更深层次的理解, 如果你想要更深层的理解这个概念,那么你也应该了解操作系统方面的知识。
进程的局限:
- 进程只能在一个时间干一件事,如果想同时干两件事或多件事,进程将无能为力。
- 进程在执行的过程中如果阻塞,例如等待输入,整个进程就会挂起,即使进程中有些工作不依赖于输入的数据,也将无法执行。
线程
概念:
上面说了一些进程的局限,要解决这些问题,线程的概念就被引入了。
举个例子:一个操作系统就好比是一个工厂,工厂里面有很多个