线程概念和原理
Linux操作系统是基于进程实现的,后面看到windows线程玩的6,借鉴其概念用进程实现了线程,所以Linux里面是伪线程,即轻量级的进程。
- 进程拥有独立的地址空间,线程共享部分地址空间(合租)
- (合租)多线程省资源,上下文切换快(屋内串门)
- 独享(牙刷牙杯):栈区(stack)、cpu寄存器(由内核管理)
- 共享:代码段(.text段)、堆区(heap)、全局数据区(.bss段、.data段)、打开的文件等
- 进程是分配资源的最小单位,线程是执行的最小单元
Q:创建多少个线程线率最高?
A:IO较多时,2倍CPU核;计算复杂度高时,等于CPU核。