- 进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元(根本区别)
- 同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进行至少包括一个线程。系统在运行的时候会为每个进程分配不同的内存空间;而对线程而言,除了CPU外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),线程组之间只能共享资源。(内存分配)
- 进程结束后它拥有的所有线程都将销毁,而线程的结束不会影响同个进程中的其他线程的结束
- 每个进程都有独立的代码和数据空间(程序上下文),线程可以看做小进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程是轻两级的进程,它的创建和销毁所需要的时间比进程小很多,所有操作系统中的执行功能都是创建线程去完成的
- 线程中执行时一般都要进行同步和互斥,因为他们共享同一进程的所有资源
- 线程有自己的私有属性TCB(Task Control Block),线程id,寄存器等,而进程也有自己的私有属性进程控制块PCB(Process Control Block),这些私有属性是不被共享的,用来标示一个进程或一个线程的标志
操作系统--进程和线程的区别
最新推荐文章于 2022-10-10 21:54:56 发布