У меня есть задача, которую я хочу выполнять снова и снова. Я хочу назвать это как можно быстрее, но я хочу, чтобы количество циклов процессора оставалось низким. Я читал, что использование сна в фоновом режиме не лучший выбор. Однако без сна мой процессор остается на 55%. У меня есть пример моего источника ниже. Если вам подходит сон, как вы выбираете лучшее время для сна, как вы можете видеть из моих результатов ниже, я получаю разные результаты в зависимости от того, как долго я сплю. Может кто-нибудь дать мне знать, что лучше всего делать, когда что-то похожее
BackgroundWorker _Worker = new BackgroundWorker()
{
WorkerReportsProgress = true,
WorkerSupportsCancellation = true
};
void Worker_DoWork(object sender, DoWorkEventArgs e)
{
// do my task here
// if i uncomment one of the Sleep below I reduce the CPU like so
// no sleep CPU = 52-58%
// Thread.Sleep(1); CPU = 09-15%
// Thread.Sleep(10); CPU = 02-03%
// Thread.Sleep(100); CPU = 00-01%
}
void Worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Cancelled) { return; }
_Worker.RunWorkerAsync();
}