发布网友 发布时间:2022-04-23 12:15
共1个回答
热心网友 时间:2023-06-30 15:32
学好操作系统,你不会有这个困惑。从教科书上的教条来说:进程(process)是资源分配的最小单位,线程(thread)是处理机调度的最小单位。
通俗来说,进程是由一个或多个线程组成的。不同的进程之间资源一般是不共享的(当然这是一般情况,也有例外,比如资源是“共享内存”,它就是共享的;父子进程间的文件描述符也是共享的)同一进程下的多个线程之间,资源一般是共享的,当然每个线程也有各自私有的资源,比如私有栈空间(比如局部变量)。
线程和进程概念其实相似,不过线程相对进程更加轻量级。一个程序可能存在几个进程,但可能同时运行成百上千的线程。
就编程而言,许多语言都提供了对于多线程编程的支持,但是对于多进程的开发,我所了解的只有posix api(类unix系统的编程接口)中提供。