我有 2 个进程(不是线程)应该同时读取系统时钟。为此,第一个过程使用
QTime::currentTime();
第二个过程使用
std::chrono::high_resolution_clock::now();
但是当我读取这两个进程读取的各自时钟值时,我发现总是有几微秒的差异。是不是因为系统时钟是共享资源,所以一个必须等待另一个读完?是不是因为读取系统时钟的函数不一样,所以时间分辨率不一样?(但这对我来说似乎不太可能......因为据我了解,时间分辨率是由 RTC 设置的,而不是高级 API)
我不使用任何特定的“措施”来同步这两个过程。第一个是不断尝试读取系统时钟(它有一段时间(1)),第二个在我启动它时读取系统时钟。所以因为第一个进程总是试图读取系统时钟,我猜当进程 2 尝试读取时钟时可能会出现“竞争条件”。