多线程编程
Stone Zhao
共 235 字
预计
2
分钟
坑还没填
线程
- 一个程序中的所有线程会独立执行相同程序,且共享一份全局内存区域。
- 进程是cpu分配资源的最小的那位,是操作系统调度执行的最小单位
- 线程是轻量级的进程,在linux下线程的本质仍然是进程
- 查看指定进程的LWQ号可以使用:ps -Lf pid
优点:
- 线程间可以方便的进行通信
- fork创造进程的代价较高,而创建线程代价较低(无需复制内存和页表等)
线程间资源
共享资源
- 文件描述符表
- 信号处置方法
- 文件系统相关信息(工作目录等)
- 虚拟地址空间(除了栈和.text)
非共享资源
- 线程ID
- 信号掩码
- 线程特有数据
- error变量
- 实时调度策略和优先级
- 本地变量和函数的调用链接信息