实时优先级中的一个线程冻结了Windows 7。

时间:2011-08-01 10:58:15

标签: windows-7 real-time freeze

我刚从WinXP转到Win7。 我的软件需要对I / O进行实时响应,因此它会在一个线程中进行忙等待(它具有在一个CPU上运行的亲和力)。

结果是其中一个内核100%CPU,其他内核0%CPU,在Winows XP上运行得很好。 在Windows 7中,系统冻结。 (该软件是一个控制台应用程序,对于Windows应用程序,它的行为有点不同。只有当主线程忙而等待而不会偷看它冻结的消息时)

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

因此,您正在使用非实时操作系统进行实时I / O.简单地说代码运行不正常,应该执行非忙等待(更改为睡眠等待)循环并将线程计时器设置更改为实时足够的。

在计时器回调中查看此问题以设置毫秒精度的窗口。

How to trigger a C# function at a certain time with millisecond precision?