您是否可以限制应用程序可以在.NET中使用的处理资源

时间:2010-02-24 15:45:06

标签: .net resources process

我想编写一个在后台运行的.NET应用程序(停留在任务栏中)并执行一项长时间操作,例如将文件夹从一个位置复制到另一个位置。我想以这样的方式编写它,以便运行的其他应用程序不会减慢很多。我不关心后台应用程序需要多长时间。有没有办法可以限制应用程序的处理/内存资源。我知道当你创建线程时,你可以将它们的优先级设置为不同的级别。将线程优先级设置为低是否会产生此影响,或者它的优先级是否会低于属于同一应用程序的任何其他线程?

2 个答案:

答案 0 :(得分:3)

是的,您可以在启动之前创建新的Thread并设置Priority属性:

Thread thread = new Thread(MethodToRun);
thread.Priority = ThreadPriority.Lowest;
thread.Start();

答案 1 :(得分:1)

如果你在unix中寻找NICE精度的东西,我不确定是否存在。但是您可以设置可能有帮助的过程的优先级。

System.Diagnostics.Process.GetCurrentProcess().PriorityClass =System.Diagnostics.ProcessPriorityClass.Low;

希望有所帮助。