Как все мы знаем, секундомер может иметь проблемы в многопоточном асинхронном приложении, которое будет работать на всех ядрах.
На многопроцессорном компьютере не имеет значения, на каком процессоре работает поток. Однако из-за ошибок в BIOS или на уровне аппаратных абстракций (HAL) вы можете получить разные результаты синхронизации на разных процессорах. Чтобы указать привязку процессора к потоку, используйте метод ProcessThread.ProcessorAffinity.
Могу ли я получить какие-либо надежные значения, подобные тиковым / временным меткам, которые также имеют высокое разрешение / точность, совместимые для ядер ЦП?
Если невозможно сделать многоядерный сейф безопасным для секундомера (QueryPerformanceCounter), каков следующий лучший способ получить хорошую временную метку между ядрами? DateTime.UtcNow.Ticks или Environment.TickCount ? Любые другие счетчики?
Мне нужно лучшее разрешение, чем может предоставить DateTime.UtcNow.Ticks. (10-15ms)