【发布时间】:2018-10-27 06:06:00
【问题描述】:
此图来自Practical usage of setjmp and longjmp in C。
据我了解,coroutine 是两个进程,看起来像是为 human 并行执行,但实际上为 machine 执行单个进程。
但是使用setjmp & longjmp 感觉代码很难读。如果需要写一样的。例如进程 A 和 B,我会给进程提供 serval States 以将它们分成不同的部分(状态),
按顺序做:
Process A
switch (state)
case A1:
if (A1 is done)
do B1
break;
...
Process B
switch (state)
case B1:
if (B1 is done)
do A2
break;
...
我需要一个理由来支持我在 C/C++ 中使用 setjmp & longjmp & coroutine。
有什么优势?
【问题讨论】:
-
你根本不需要这样做!
-
@bipll 如果它看起来没那么有用,人们为什么要创建它?什么样的应用程序使用它?