一个线程是一个程序内部的顺序控制流。
一个进程就代表我们运行着的一个程序。每个进程都占有自己特定的系统资源,包括内存、CPU的运行时间等,进程之间是完全分开的,我们可以借助操作系统提供的手段来实现进程之间的通信。
多线程是指在同一应用程序中我们可以有多个任务(顺序流)同时执行。
进程和线程是两个不同的概念,他们的不同点在于:
1)进程:每个进程都有独立的代码和数据空间(进程上下文),进程切换的开销大。
2)线程:轻量的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换的开销小。
3)多进程:在操作系统中,能同时运行多个任务(程序)。
4)多线程:在同一应用程序中,有多个顺序流同时执行。