我对窗户中的纤维有一些疑问
I have some question about fiber in windows
本文关键字:窗户 更新时间:2023-10-16
我想知道窗口提供的光纤。
假设我创建了 4 根光纤。
------------线-----------------
纤维1 - 纤维2 - 纤维3 - 纤维4
^
纤程 1 现在线程执行。
- 一根
线只能同时运行一根光纤。对吗?
如果一根线终止了纤维1,那么另一根线的所有纤维也都终止了?
我知道光纤是非先发制人的。那么如果我想将光纤 1 切换到光纤 2,除了在光纤 1 中调用 SwitchToFiber 之外别无他法?
如果我在执行某个任务期间调用 fiber1 中的 SwitchToFiber,那么 fiber1 会立即休眠?还是在完成任务后睡觉?
光纤 1 到 光纤 4 中没有共享空间?
而且没有共享空间,那么就没有必要锁定光纤。 对吗?
我阅读了 MSDN 文档,但我无法理解某些内容。所以我在这里问。
SwitchToFiber
就像longjmp
,而CreateFiber
就像setjmp
的扩展版本,分配额外的堆栈空间。 DeleteFiber
就像setjmp
分配的上下文块的free
。最重要的是,给予者自己什么都不做,longjmp
就像 C goto
的扩展版本,例如类似于 gcc 的"计算 goto"扩展,除了它可以在跳跃时切换堆栈。您可以轻松地模拟光纤(非便携式)与setjmp
,longjmp
和一些alloca
。
相关文章:
- 如何在窗户上使用和配置叮当声?
- 从 c++ 运行 MsiExec.exe?窗户
- 管道到窗户上的ffmpeg
- 如何为我的窗户腾出顶部空间?
- 在窗户中编译CUDA的意义
- 窗户的C BLE中央开发
- 在离开模式下唤醒窗户
- 窗户上的cmake,加载静态库
- QMediaPlayer在窗户上使用西里尔的错误解析URL
- 在窗户上与libssh挣扎
- 在窗户上建造数学
- 如何修复窗户上的 cmake find_package "Could NOT find SDL2"?
- 窗户上的PCL 1.8.1 CMAKE问题
- 窗户不打开
- 我对窗户中的纤维有一些疑问
- Box2D-我应该多久在窗户循环中使用台阶
- 窗户排列的顺序
- 使用C 构建器在窗户上拍摄屏幕截图的线程安全
- CEF 3无边界的窗户
- 交叉编译壁炉靶向窗户