一、多线程
-
多线程的处理思路:一个运行中的程序中,具有多个执行流,各自完成一个功能模块的实现
-
linux的操作系统中:认为一个pcd就是一个执行流(pcd是操作系统调用一段程序运行的 实体–描述了程序的运行过程)
- linux下的线程就是一个pcd
- pcd:是一个进程
- 现在,多个pcd可以共用同一个虚拟地址空间,这些pcd共用了一个运行中程序的资源
- linux下的线程就是一个pcd是一个轻量级进程,因为一个运行中程序的多个pcd共用同一 份资源
- 一个运行中的程序就是一个进程,以前我们所说的进程,这时候再来解释,就是具有一个线程的进程,linux下的线程是一个pcb(轻量级进程),是一个进程中的一条执行流;
- 进程就是一个线程组;
二、进程/线程
1、进程跟线程是要一起说的(否则单一说会有一种冲突感)
2、进程就是一个运行中的程序,操作系统会创建一个pcb(运行中程序的描述),并且分配资 源,通过pcb来调度运行整个程序
3、线程是一个进程中的执行流,但是linux下实现进程中的执行流的时候,使用了pcb实现
4、因此就说linux下的线程是一个pcb,称作轻量级进程,因为同一个进程中的线程共用进程 分配的资源
5、而进程就是所有线程的统称,就是一个线程组,系统在运行程序,分配资源的时候是分 配给线程组,分配给整个进程