昨天笔试问到了进程线程的简答题,感觉答得太笼统了,之前面试也被提问过,因此这里单独总结一篇;
进程
- 进程是程序的一次执行过程,是临时的,动态的,有生命周期的;
- 任何进程都可以和其他线程一起并发执行;
- 进程是系统资源分配和调度的独立单位
- 进程由程序、数据集合、进程控制块组成,程序用于描述进程要完成的功能,数据集合是程序执行期间所需的数据和工作区,程序控制块包含进程的描述信息和控制信息。
线程
- 进程间进行切换的成本开销太高,又发明了线程;
- 线程是处理器调度和分派的基本单位;
- 一个进程可以有多个线程,各线程共享进程的内存空间;
线程和进程的区别
- 线程是程序执行的最小单位,进程是操作系统进行资源分配的最小单位
- 一个进程由多个线程执行,线程是一个进程中代码的不同执行路线
- 进程间相互独立,同一进程下的线程共享进程的内存空间,且对其他进程不可见;
- 线程上下文切换比进程上下文切换快的多;