监听性能中内核线程的变量变化

时间:2019-03-07 00:33:07

标签: c++ windows multithreading kernel interlocked

此问题是先前询问的问题的延续:

Slow communication using shared memory between user mode and kernel

我正在Windows内核中运行一个线程,该线程通过共享内存与应用程序通信。我想知道当前循环和等待BOOLEAN变量更改的方法是否最有效?要求是将其降低到50-100微秒或更低。

内核代码

const id = 2;
const arr = [1,2,3];

if (arr.indexOf(id) > -1) 
  console.log('it exists');

我考虑过KeStallExecutionProcessor,因为它应该用于少于50微秒的循环,但是据我了解,它仍然会占用处理器的资源。

此外,由于BOOLEAN的使用方式不稳定,您是否发现当前的读写过程存在任何不足或问题? 也许将线程优先级更改为低?

0 个答案:

没有答案