1:CPU
CPU是中央处理器,是一台计算机的运算核心和控制核心。
2:进程
进程,一个进程就是一个具有独立功能的应用程序,关于某个数据集合上的一次
运行活动。进程是系统进行资源分配和调度的一个独立单位。
3:线程
线程是进程的实体,属于进程,是CPU调度和分派的基本单位,CPU将资源分配
给进程,所有线程共享该进程的资源。一个tomcat对应一个进程,访问
tomcat下的应用的时候,就是一个启动线程。
4:关系
在单核CPU时代,单CPU在同一个时间点,只能执行一个线程,因为只有一个核
心,如果有两个程序在同一时段执行,就是有两个线程,CPU也只是并发处理,
系统帮助切换时间,系统给每个线程分配时间片来执行,看起来像是同时跑, 但
实际上是每个线程跑一点点就换到其它线程继续跑,暂停的线程就由程序计数器
记下作为下次的起始点,因为CPU在线程之间切换比较快。
在多核CPU时代,多核CPU就是在一个CPU中集成了多个核心,这时候可以多个线
程并行执行了,因为一个核心执行一个线程。
在单核下运行多线程,因为只有一个出口,系统会来回切换,会有线程处于等待
状态:
如果一个应用程序复杂,计算较多,可以做成多线程,因为现在是以线程为
单位进程切换的,所以你把一个计算分成多个线程分块执行肯定比单一线程
执行快的。如果单纯的一个简单应用,单线程比多线程好,因为不用系统切换CPU。
在单一进程等待IO操作时CPU空闲的时候,使用多线程加快程序运行速度。
在多核CPU时代,因为线程可以并行运行,所以任务会执行快得多。