线程是CPU分配时间的单位,每一个线程对应于它在进程中的一个函数,也就是内存中的代码段,多个线程执行时CPU会根据它们的优先级分配时间,使它们完成自己的功孙迹能。
一般来说,进程中至少一个线程,一个主线程和其他线程组成一个进程。多个线程的目的在于分享CPU的时间片,从而完成并行任务。
线程和进程的比较:
线程是比进程更小的能独立运行的基本单位,通常一个进程都有若干个线程,至少也需要一个线程。
1.调度
线程师调度和分派的基本单位,进程是资源拥有的基本单位。
2.并发性
进程之间可以并发执行,在一个进程中的多个线程之间也可以并发执行。
3.拥有资源
进程是拥有资源的一个独立单元,线程自己不拥有系统资源(也有一点比不可少的资源)但它可以访问其隶属进程的资源。
4.系统开销
创建或撤消进程时,系统都要为之分配或回收资源,如内存空间、I/O设备等,OS所付出的开销显著大于在创建或撤消乱桥线程时的开销;进程切换的开销也远大于线程切换的开销。
进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元。对于 *** 作系统而言其调度单元是线程。一个进程至少包括一个线程,通常将该线程称为主线程。一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基于多线程的多任务。
程序在打开运行的时候就演变成了进程,进程是由线程组成的。简单的说,你每启动一个程序,就启动了一个进程。在Windows 3.x下,进程是最小运行单位。在Windows 95/NT下,每个进程还可以启动几个线程,比如每下载一个文件可以单独开一个线程。在Windows 95/NT下,线程是最小单位。WINDOWS的多任务特性使得线程之间独乎缓立运行,但是它们彼此共享虚拟空间,也就是共用变量,做凯线程有可能会同时 *** 作一片内存。所谓进程,本纯顷唤身不能执行,它只是一个资源的集合体,拥有地址空间,模块,内存,...
线程是真正的执行单元,一个进程如果没有线程,那么就没有存在的意义,因为不可能执行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)