Skip to content

Commit

Permalink
Update 8.Kotlin_协程.md
Browse files Browse the repository at this point in the history
  • Loading branch information
CharonChui authored May 20, 2024
1 parent 7267cf5 commit 776b49b
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions KotlinCourse/8.Kotlin_协程.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,12 @@ Kotlin引入了协程(Coroutine)来支持更好的异步操作,利用它
可以说,只要内存足够,一个线程中可以包含任意多个协程,但某一时刻却只能有一个协程在运行,多个协程分享该线程资源。

## 进程、线程、协程
进程:一段程序的执行过程,资源分配和调度的基本单位,有其独立地址空间,互相之间不发生干扰
线程:轻量级进程,资源调度的最小单位,共享父进程地址空间和资源,其调度和进程一样要切换到内核态
并行:同时发生,在多核CPU中,多个任务可同时在不同CPU上面同一时间执行
并发:宏观并行,微观串行,操作系统根据相关算法,分配时间片来调度,从而达到一种宏观上并行的方式
上下文:程序执行的状态,通常用调用栈记录程序执行的当前状态以及其相关的环境信息

- 进程:一段程序的执行过程,资源分配和调度的基本单位,有其独立地址空间,互相之间不发生干扰
- 线程:轻量级进程,资源调度的最小单位,共享父进程地址空间和资源,其调度和进程一样要切换到内核态
- 并行:同时发生,在多核CPU中,多个任务可同时在不同CPU上面同一时间执行
- 并发:宏观并行,微观串行,操作系统根据相关算法,分配时间片来调度,从而达到一种宏观上并行的方式
- 上下文:程序执行的状态,通常用调用栈记录程序执行的当前状态以及其相关的环境信息

早期,CPU是单核,无法真正并行,为了产生共享CPU的假象,提出了时间片概念,将时间分割成连续的时间片段,多个程序交替获得CPU使用权限。 而管理时间片分配调度的调度器则成为操作系统的核心组件。

Expand Down

0 comments on commit 776b49b

Please sign in to comment.