众所周知,在多线程异步应用程序中运行时可以在所有核心上发生问题的秒表。
在多处理器计算机上,线程运行的处理器并不重要。但是,由于BIOS或硬件抽象层(HAL)中存在的错误,您可能会在不同的处理器上获得不同的计时结果。要为线程指定处理器亲和性,请使用ProcessThread.ProcessorAffinity方法。
有什么可靠的方式可以获取一些具有高分辨率/精度且跨CPU核心一致的刻度/时间戳等值吗?
如果无法使秒表(QueryPerformanceCounter)在多核安全,则下一个最佳方法是什么以跨核心获得良好的时间戳? DateTime.UtcNow.Ticks 或者 Environment.TickCount ?还有其他计数器吗?
我确实需要比DateTime.UtcNow.Ticks提供的更好的分辨率。(10-15ms)