线程
进程与线程的联系
在说线程之前,我们先说说进程,顺便引出线程。下面开始说了!
在还没引入进程之前,计算机只能串行执行程序,即 你不能同时用QQ聊天和用网易云听音乐,你只能选择一个执行顺序,先听音乐还是先聊QQ,或者先聊QQ再听音乐呢?显然,我们不能接受这种情况。
随着计算机的发展,进程被引入了,那此时我们就能边聊QQ聊听音乐了。
但是,新的问题出现了。你想一边用QQ视频聊天,一边用QQ传输一些文件。在之前提过,进程是程序的执行过程,但是显然两个功能不可能由一个程序顺序处理就能实现。
所以,由于有的进程内部需要"同时"做很多事情,我们就引入了线程。线程可以在进程中并发运行,每个线程可以对应相应的功能。
可以这样理解,线程是轻量级的进程。
进程与线程的并发对比
线程的出现意义
从上图中可见,由于线程的引入,现在不仅进程之间可以并发,进程的各个线程之间也可以并发执行。而线程的出现也使得一个进程内可以并发的处理各种任务(如 QQ视频、传文件…)。
当然,由于线程的出现,进程也减轻了工作,传统的进程是系统调度的基本单位,而引入线程后,线程成为了系统调度的基本