【问题标题】:Auto-Switch-Context between a list of fibers光纤列表之间的自动切换上下文
【发布时间】:2014-06-12 22:38:17
【问题描述】:

有没有办法实现像操作系统这样的系统,为每个进程/线程分配时间? 我的意思是当我运行一个进程并在其中执行无限循环时,操作系统仍然可以在一个内核上正常运行。 (它会自动切换上下文,无需进程的许可或命令)

我没有可以检查时间和切换上下文的光纤使用的内部函数。

【问题讨论】:

    标签: c++ windows operating-system fiber


    【解决方案1】:

    嗯,当然有,操作系统可以做到。虽然在不使用操作系统服务的情况下在自己的进程中自己做有点困难。

    有一本旧书,Herbert Schildt 称为Born to Code in C,其中有一个基本的多线程机制用 C 实现并在同一进程中运行。

    【讨论】:

    • 看起来工作量很大,需要一个从第二个线程切换上下文的函数。 (在目标线程之外)我会等一下,谢谢。
    • 操作系统会自动为您执行此操作。您根本不会在线程之间切换。如果你想在光纤之间切换 - 你需要指定操作系统。
    • 我认为操作系统至少支持从外部切换上下文。 (之前在 Google 上搜索过,但没有找到)
    • 你不能告诉操作系统切换任何进程的线程。如果您的操作系统支持光纤,您可以切换光纤 - 但只能在进程内进行。
    • 这就是我的意思,我无法切换从另一个线程订购的上下文? (在同一进程内)
    猜你喜欢
    • 1970-01-01
    • 2013-05-28
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 2012-05-09
    相关资源
    最近更新 更多