前言
在上篇文章里,我们知道了进程管理的一些相关知识-->http://t.csdnimg.cn/OVGAD,但是在实际编写代码的过程中,我们都是用一个CPU在工作,无法体现多核的优势,这次咱们在细分一下了解线程~
什么是线程(Thread)?
首先,线程的出现是为了解决多进程的问题,因为创建和销毁进程的过程中消耗的资源过大。
之前就知道进程就是一组PCB结构体进行描述,通过链表进行组织~
那线程就是这一组PCB里面的一个PCB。
就是包含关系->
可以这么理解,进程是获取资源,而实际干活的是线程~
线程与进程的联系
1.因为包含关系,一个进程里面至少包含一个线程。
2.同一进程中这些线程是共用同一份系统资源的 。
线程与进程的区别
1.进程是系统资源分配的基本单位,线程是系统调度执行的基本单位。
2.多个进程之间一般是互不影响的,如果一个进程异常了,不影响其他进程正常执行。(进程的隔离性)。
3.多个线程就不同了,其一,当线程数目大于CPU的核心数目后,来再多线程也没位置了,所以并不是线程越多越好。
其二,这些线程都在同一个进程里,如果一个线程异常,其他线程也会跟着异常。(这点就和进程不同了)。
看到最后,如果觉得文章写得还不错,希望可以给我点个小小的赞,您的支持是我更新的最大动力