一进程(Process\Task)1.定义进程简单来说就是程序执行一次的过程进程是操作系统分配资源的基本单位。1.2PCB(进程控制块)Process Control Block进程控制块用来记录进程相关信息如进程标识关联进程信息等。用C语言来说就是一个庞大的结构体。pcb中有pid文件描述符表内存指针等。那么计算机中是如何执行进程的呢1.3进程执行原理:最初的计算机只能执行一个进程任务效率低下所以后来多任务操作系统登场了采用分时复用的方式来使仅仅几个CPU就可以执行多个任务并且在同一个CPU中同时执行多个任务就叫做“并发执行”。在同多个CPU中同时执行多个任务就叫做“并行执行”。对应的进程就有两个状态就绪状态和阻塞状态进程优先级有些进程本身需要消耗 cpu 资源更多如游戏和浏览器对比游戏需要消耗 cpu 资源比浏览器更多则该进程的优先级较高。进程的上下文保存进程执行的中间状态确保并发执行时 cpu 能够沿着某个进程上次的执行状态继续执行。进程的记账信息统计每一个进程在 cpu 上运行了多久。二线程(Thread)2.1定义线程是一个进程的一部分在并发执行的过程CPU频繁的创建销毁对资源的消耗比较大所以线程就出现了进而可以理解以为线程是一种轻量化的进程。2.21进程包含一个或多个线程线程是CPU分配资源的基本单位线程会共享进程中的资源。2线程只会在进程创立之初消耗资源相应的线程只会伴随着进程的销毁而结束才会释放资源。3对于线程与线程之间因为资源相互独立各自的线程是不会互相影响的但是在同一个进程中进程是会相互影响的往往伴随着一个线程的崩溃就会引出一系列问题这就是所谓的线程安全问题.cpu 执行线程的过程与 进程调度 是一样的但是我们称为线程调度。每一个线程都有对应的线程调度信息状态、优先级、上下文和记账信息但是一个进程中的所有线程都共享同一份文件描述符表和内存指针。2.3进程状态2.3.1NEW:线程创建之初还未经start()方法调用2.3.2)runnable:可执行或执行中的状态2.3.3terminated:线程终止2.3.4time_waiting\waiting:等待其他线程2.3.5blocked因为锁而导致阻塞状态。三进程和线程的区别和联系1.进程包含一个或多个线程称为主线程。2.线程与线程之间资源独立各自互不打扰而线程与线程之间往往伴随着一个线程的崩溃就会引出一系列问题相互影响。3.对进程来说每创建一个进程就会申请资源而对于线程来说伴随着进程的生命周期在进程还未结束的时候销毁一个线程时不会影响资源.4.进程是操作系统资源分配的基本单位线程是操作系统调度执行的基本单位。