В процессе рефакторинга кода возник вопрос.
Существует примерно такой код
do
{
res = FindWindow(...);
if(res == IntPtr.Zero)
Thread.Sleep(500);
}
while (res == IntPtr.Zero);
Активное ожидание это плохо, но в этом случае насколько я знаю неизбежно.
Возник вопрос.
Будет ли лучше использовать вот такой код:
SpinWait spinWait = new SpinWait();
do
{
res = FindWindow(...);
if(res == IntPtr.Zero)
SpinWait.SpinOnce();
}
while (res == IntPtr.Zero);
Во втором варианте я вижу более быстрое время отклика.
Здравствуйте, Visor2004, Вы писали:
V>Здравствуйте, Аноним, Вы писали:
V>Если поставить Thread.Sleep(1); будет такое же время отклика.
Но будет постоянное переключение контекста. Что в этой задаче наверное пофигу.
Мне кажется топик стартер занимается ерундой.