每日一博 | 一文带你读懂:系统线程模型与实现原理
点击上方蓝字关注我们 各种操作系统均提供了线程的实现(内核线程),线程是 CPU 进行工作调度的基本单位。 线程是比进程更轻量级的调度执行单位,线程的引入,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源(内存地址、文件I/O等),又可以独立调度(线程是CPU调度的基本单位)。而编程语言一般都会提供操作内核线程的 API, Java 也不例外。 操作内核线程的模型主要有如下三种: 使用内核线程(1:1 模型) 使用用户线程(1:N 模型) 使用用户线程 + 轻量级进程(LWP)(N:M 模型) 基础概念复习 我们先复习下操作系统中的几个关键概念: 内核线程 KLT:内核级线程(Kemel-Level Threads, KLT 也有叫做内核支持的线程),直接由操作系统内核支持,线程创建、销毁、切换开销较大 用户线程 UT:用户线程(User Thread,UT),建立在用户空间,系统内核不能感知用户线程的存在,线程创建、销毁、切换开销小 轻量级进程 LWP: (LWP,Light weight process)用户级线程和内核级线程之间的中间层,是由操作系统提供给用户的...
