线程概念:
多线程其实就是实现多任务并发、并行处理的。多进程是完成多任务的。
多线程的处理思路:
一个运行中的程序中,具有多个执行流,各自完成一个功能模块的实现。
Linux的操作系统:
Linux下认为一个pcb就是一个执行流。pcb是操作系统调用一段程序运行的实体。是操作系统对运行中程序的一个描述。在Linux下这个描述是一个task_struct结构体,这个结构体中描述了一个程序的所有运行信息,操作系统可以通过这个描述信息实现对一个程序的调度运行。
Linux下的线程就是一个pcb。
进程是一个pcb。
多个pcb可以共用同一个虚拟地址空间,这些pcb共用了一个运行中程序的资源。
概念:Linux下的线程就是一个pcb,是一个进程中的一条执行流,是一个轻量级进程。一个进程中若有多个线程,也就意味着有多个pcb,多个pcb共用同一份资源。(虚拟地址空间。)
一个运行中的程序就是一个进程。
以前我们所说的进程,这时候再来理解,就是具有一个线程的进程。进程就是一个线程组。