线程又称轻进程(light-weighted process LWP)是进程内的一个相对独立的执行流。
主要特性:
①轻型实体:线程基本上不拥有系统资源只有一点必不可少,能保证其独立运行的资源。线程TCB+私有堆栈
②独立调度和分派的单位:线程是CPU调度的基本单位,由于线程很”轻“其上下文(物理运行环境)切换快,系统开销少。
③并发执行
④共享进程资源,正因为共享进程资源,线程需要的私有实体资源便少了。共享进程的代码,数据,堆
与进程相比,线程的优点:
①上下文切换速度快:同一进程中的线程间的切换只需改变寄存器(psw,pc)和栈(ss,sp)包括程序和数组在内的地址空间不变
②系统开销小:创建线程比创建进程所需完成的工作少,因而对于客户请求,服务器创建线程比创建进程响应速度快。
③通信容易:由于同一进程中的多个线程的地址空间共享(内存,文件的共享),一个线程写到数据空间的信息可以直接被该进程中的另一线程读取,方便快捷。不必通过系统调用
线程与进程的区别
①一个线程只能属于一个进程,而一个进程可以有多个线程
②进程是分配资源的基本单位与该进程有关的资源都被记录在进程控制块PCB中,线程是cpu调度的基本单位
③不同进程拥有不同的虚地址空间(支持虚拟内存管理),而同一进程内的不同线程共享同一地址空间