OpenMP能提高某个线程的实时性吗

huanglin03 2014-01-23 11:13:39
问题是这样的,有个线程的工作,我想让它一直被CPU不断的调度,即永远拥有时间片,用OpenMP能达到这个目的吗?提高线程优先级还是会丢时间片的,
...全文
227 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
policelorl 2014-01-28
  • 打赏
  • 举报
回复
这根本不可能,用户模式下的线程的中断级别是最底的。当内核模式下的线程发出任何一个中断请求,CPU就会无条件的中断当前用户模式的线程,转去处理内核的中断请求。一直到完成之后,才会恢复用户模式线程的执行。 你可以把线程的优先度提升得很高,获得更多调度的机会,但是一样不能一直占有一个CPU。
walkonthesky 2014-01-26
  • 打赏
  • 举报
回复
并发和实时性没有太大关系 平台选定的情况下,提高线程的实时性最直接的方法是调整其优先级
danscort2000 2014-01-24
  • 打赏
  • 举报
回复
OpenMP 只是方便你使用多线程模型,没有其他作用 要在WINDOWS里实现你的要求,那只有运行在内核态 也就是通过驱动来实现,不过好象100%还是达不到
encoderlee 2014-01-23
  • 打赏
  • 举报
回复
在windows这种抢占式非实时系统,应该是无法实现让某个线程永远拥有时间片,这样的话其他线程包括系统线程就暂停了。 一般此类实时应用都是在实时系统上完成。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧