防止对象被分页(VirtualLock等效)

时间:2009-09-25 16:50:43

标签: c# .net windows memory-management

如何在内存中保留一个对象,以便它不会被.Net中的操作系统分页?

即。类似于VirtualLock的东西,但是在一个对象上运行,这样如果发生压缩并且对象被移动它仍然不会被分页等等。(我想可以固定对象,确定它属于哪个页面,然后VirtualLock那些页面,但由于许多原因,这似乎是不可取的。)

如果可能,您能指点我参考或工作样品吗? (理想情况下是C#)

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:3)

如果您需要确定的响应时间,则应使用以您指定的限制运行的实时操作系统,而不是Windows。

根据定义,如果它们不经常使用,则在要被分页的候选人名单中排名很高。

这是一个可怕的解决方案:创建一个线程(或异步计时器),一旦INTERVAL ms触及你的对象然后再回到睡眠状态。调整INTERVAL,直到获得所需的行为。