线程

2019-07-14 11:19发布

知识点如下:     面试题:线程是什么? 谈线程必须要谈进程,首先线程在Linux里就叫轻量级进程,线程是进程里的一个执行流,创建线程时我们只为线程创建了PCB,我们也可以说每个线程就是一个PCB,而一个进程里拥有多个PCB,所以进程也是多个线程组,线程与进程共享虚拟地址空间,用户id和组id,文件描述符表,当前工作目录,每种信号的处理方式。但是线程也与进程也有很大的区别,线程是程序执行的最小单位,而进程是操作系统资源管理的最小单位,线程除了与进程共享这些资源后,他也有自己的线程id,上下文数据,栈,errno,信号屏蔽字,调度优先级等。线程与进程相比既有优点也有缺点,优点是创建线程的代价和线程所占用的资源要比进程少,线程之间的切换比进程更容易,同时线程还能利用多处理器的可并行数量。缺点是同一时间进行多个线程,会造成性能损失,健壮性降低,缺乏访问控制和编程难度高.