目录
一、线程
一个线程就是一个执行流,每个线程按照顺序执行着自己的代码(执行的任务),多个线程之间“同时”执行着多份代码。
二、多线程
多进程也可以充分利用CPU去执行一些业务,但每个进程启动之前都要向CPU申请系统的资源(内存、文件)。
具体流程:
1.创建进程
2.申请资源
3.PCB加入到链表
4.释放资源
5.PCB从链表删除
6.销毁进程
其中,24对系统性能影响特别大,线程也称为轻量级里的进程。
进程在操作系统里是其实是一个PCB组,组里的内存指针、文件描述符表用的都是相同的,区别在于状态、优先级、上下文、记账信息这些是不一样的。每创建一个进程,这个进程里至少都包含一个线程,那么这个线程就是主线程。
三、进程与线程的区别
主要区别:进程中包含线程、至少有一个主线程
其他区别:进程是申请资源的最小单位;线程是CPU调度的最小单位;线程共享进程申请来的资源。
线程的优势:
1、线程创建的速度比进程快
2、线程销毁的速度比进程快
3、线程的调度比进程快
有了进程之后,就可以创建多个线程来处理业务,充分利用CPU资源。
到底要创建多少个线程合适?数量不一定,但是CPU的处理器数量是一个参考。