GWL*_*osa 2 .net c# multithreading sleep
所以我有一个程序,可以作为其他程序的"shell".在它的核心,它传递一个类,一个方法名称和一些args,并处理函数的执行,其想法是允许其他程序员基本上安排他们的进程在这个shell服务上运行.除了一个问题,一切正常.通常,这些计划执行的进程非常耗费CPU.有时,进程调用开始使用如此多的CPU,我负责检查计划和启动其他作业的线程没有机会运行相当长的一段时间,导致调度问题和缺乏足够的反应能力.不幸的是,我无法在实际运行的代码中插入Thread.Sleep()调用,因为我并不真正"拥有"它.
所以我的问题是:是否有可能强制一个任意线程(我开始)经常睡眠(产生),而不修改在该线程中运行的实际代码?除此之外,有没有办法将Thread.Sleep()调用"注入"我将要在运行时动态运行的代码?
Jon*_*eet 10
并不是的.您可以尝试使用Priority
属性更改其他线程的优先级,但您无法真正注入"睡眠"调用.
有Thread.Suspend()
,但我强烈建议你不要使用它.你真的不想在任意时间让另一个线程挂起,因为它可能拥有重要的资源.(这就是为什么这个方法被标记为过时并且有各种各样的警告:)
降低其他任务的优先级并可能提高您自己任务的优先级可能是最好的方法.
归档时间: |
|
查看次数: |
2739 次 |
最近记录: |