【发布时间】:2015-08-11 10:05:42
【问题描述】:
我有一个 DLL 来管理 pysical 和我的应用程序来引导我的 DLL 和 UI。
管理 pysical 不是问题,而且效果很好。我的用户界面可以使用一些按钮,而且两者都很好用。但是当我添加一个计时器或其他需要刷新的计时器时,我在物理管理中遇到了问题。我想我需要修复 UI 的冲突或刷新 UI 的成本或隔离 UI。
我的应用处于实时模式。
How to reserve a core for one thread on windows? 不是我的问题。
如果我需要为我的应用程序保留一个 cpu 核心(只有一个),而没有任何其他 windows 进程交互到这个核心。我们可以这样做吗?
或者我们可以改变windows默认的负载平衡模式吗? (“实际上操作系统能够对你的内核/处理器进行负载平衡”How Can I Set Processor Affinity in .NET?)
或者如何正确隔离我的用户界面?
谢谢!
【问题讨论】:
-
如果有这样的功能,并且在您的应用程序之前启动的每个应用程序都已经使用它怎么办?目前尚不清楚您为什么需要这个 - 基本要求是什么?如果您的线程很忙,Window 通常不会将它们从正在运行的内核中启动,除非没有空闲的内核可以安排工作。
-
我想保留一个核心来管理物理交互,而不是 UI,我只想在我的 UI 中刷新计时器,但这会导致一些物理“错误”,没有刷新计时器,我没有任何问题
-
这通常不是我推荐的,但是您是否尝试过提高后台线程的优先级?无论如何,这听起来像是发生了其他事情,导致了你暗示的那些打嗝。如果可以的话,你应该把它归结为一个可重现的测试用例。
-
ahah :p 我的 X 问题是管理 pysical,我的 Y 是刷新 UI,仅此而已。我只搜索一个解决方案,或者为什么不使用您的评论寻找一个新的解决方案