引子:
进程:资源单位(起一个进程,仅仅只是在内存空间中开辟一块独立的空间)。
线程:执行单位(真正干活的人也就是真正被CPU执行的,是进程里面的线程。线程指的是代码的执行过程,执行代码中所需要使用到的资源都找所在的进程索要)。
将操作系统比喻一个大的工厂,
那么进程就相当于工厂里的车间。
线程就是车间里面的流水线。
每一个进程肯定自带一个线程。
总结:
进程和线程都是虚拟单位,只是为了我们更加方便的描述问题
对比分析:
开设进程:
1、申请内存空间 耗资源
2、‘拷贝代码’ 耗资源
开设线程:
一个进程内可以开设多个线程,在同一个进程内开设多个线程无需再申请内存空间。
总结:
1、开设线程的开销远远小于开设进程的开销。
2、同一个进程下的多个线程数据是共享的。
我们要开发一款文本编辑器:
需求:获取用户输入的功能、实时展示到屏幕的功能、自动保存到硬盘的功能
针对上面的三个功能,开设进程还是线程?
答案:开设三个线程处理上面的三个功能更加的合理。
原文:https://www.cnblogs.com/liunaixu/p/13185858.html