Можете ли вы ограничить ресурсы обработки, которые приложение может использовать в .NET - PullRequest
4 голосов
/ 24 февраля 2010

Я хотел бы написать .NET-приложение, которое работает в фоновом режиме (остается на панели задач) и выполняет длительную операцию, например копирование папок с файлами из одного места в другое. Я хочу написать так, чтобы другие работающие приложения не сильно тормозили. Мне все равно, сколько времени занимает фоновое приложение. Есть ли способ, которым я могу ограничить ресурсы обработки / памяти для приложения. Я знаю, что когда вы создаете темы, вы можете устанавливать их приоритеты на разных уровнях. Будет ли установка низкого приоритета потока иметь такой эффект или он будет иметь только меньший приоритет, чем любые другие потоки, которые являются частью того же приложения?

Ответы [ 2 ]

3 голосов
/ 24 февраля 2010

Да, вы можете создать новый Thread и установить свойство Priority перед его запуском:

Thread thread = new Thread(MethodToRun);
thread.Priority = ThreadPriority.Lowest;
thread.Start();
1 голос
/ 24 февраля 2010

Если вы ищете что-то с точностью NICE в Unix, я не уверен, что что-то существует. Но вы можете установить приоритет процесса, который может помочь.

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

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...