进程的线程的区别
进程:
进程有独立的地址空间
Linux为每个进程创建task——struct
每个进程都参与进程调度,互不影响
线程:
进程在切换时系统开销大
很多操作系统引入了轻量级进程LWP
同一进程中的线程共享相同地址空间
Linux下不区分进程,线程
线程特点
通常线程指的是共享相同地址空间的多个任务
使用多线程的好处:
大大提高了任务切换的效率
避免了额外的TLB & cache的刷新
线程的共享资源
可执行的指令
静态数据
进程中打开的文件描述符
当前工作目录
用户ID
用户组ID
线程私有资源
线程ID(TID)
PC(程序计数器)和相关寄存器
堆栈
错误号(errno)
优先级
执行状态和属性
Linux线程库
pthread线程库中提供了如下基本操作
创建线程