我正在研究编写userland threading library,因为在这方面似乎没有积极的工作,我相信C ++ 0x promises and futures 可能会给这个模型带来一些力量。不幸的是,为了使这个模型工作,必须确保上下文切换阻塞调用。因此,我想拦截每个系统调用,以便用异步版本替换它。有一些警告:
这可能吗?
答案 0 :(得分:1)
我正在考虑编写一个userland线程库,因为这个区域似乎没有活跃的工作
您可能需要查看实现混合的线程库Marcel(及其publications)和MPC(内核和用户 - 级别)线程,主要是为了高性能计算的目的,所以他们不得不为这个阻塞系统调用找到一些解决方案。
以避免在应用程序时阻塞内核线程 阻止系统调用时,Marcel使用调度程序激活 它们是可用的,或者只是在动态时截取这样的阻塞调用 符号级别。