Skip to content

Commit 5e77268

Browse files
Update p2-coroutine.md
1 parent eb8f977 commit 5e77268

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

lec11/p2-coroutine.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,22 @@ def func()://协程函数
206206
- 实现较为复杂。<!-- 可通过操作系统内核获得支持。-->
207207
- 需要通过锁等机制来保证协程之间的同步和互斥。
208208

209+
210+
---
211+
212+
#### 有栈(stackful)协程和无栈(stackless)协程
213+
214+
**协程在挂起(Suspend)时,状态怎么存?**
215+
216+
- 有栈协程:每个协程分配一个独立的执行栈
217+
- 内存消耗大
218+
- 上下文切换较快
219+
- 无栈协程:在堆上维护状态机(State Machine)
220+
- 内存消耗小
221+
- 上下文切换极快
222+
223+
224+
209225
---
210226

211227
#### 有栈(stackful)协程和无栈(stackless)协程

0 commit comments

Comments
 (0)