CPU 线程和操作系统线程
CPU 线程指的是在硬件级别能同时做的事情。多核 CPU 的每个核各⾃独⽴运⾏,因此每个核⼀个线程。
1 | 四核⼋线程:CPU 硬件⽅在硬件级别对 CPU 进⾏了⼀核多线程的⽀持(本质上依然是每个核⼀个线程) |
操作系统线程指的即是 Thread,操作系统利⽤时间分⽚的⽅式,把 CPU 的运⾏拆分给多条运⾏逻辑,即为操作系统的线程。
单核 CPU 也可以运⾏多线程操作系统。
线程是什么
按代码顺序执⾏下来,执⾏完毕就结束的⼀条线。
1 | UI 线程为什么不会结束? |
线程和进程的区别
一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。别把它和栈内存搞混,每个线程都拥有单独的栈内存用来存储本地数据。是否共享资源(数据)是进程和线程最大的区别。
参考资料:
腾讯课堂 HenCoder
骑小猪看流星 必须要理清的Java线程池