内核内部 - 任何线程或进程 - 在I / O调用期间被典型的定时器输入或中断所中断。这将控制权转移回内核的调度程序。
切换线程由调度程序完成,调度程序决定下一个可运行的线程。
现在,如果你想模拟 差不多这个 - 你需要让线程执行一些有限的任务并使自己等待一些信号量/互斥量。有某种主线程可以控制这些互斥锁/信号量。主线程以某种方式运行所需的算法来决定应该授予哪个线程访问权限。
唯一真正的区别在于,由于您的主线程本身位于用户空间而不是内核中 - 因此它无法真正否决和/或抢占正在运行的线程。它只能控制有效完成任务分配的效率模拟(在表现良好的线程之间)。
这是如何思考问题的非常基本的第一步。请添加更多有关该主题的详细信息。修改您的问题以改进您的答案。