У меня есть 2 процесса (не потоки), которые должны считывать системные часы одновременно. Для этой цели первый процесс использует
QTime::currentTime();
и второй процесс использует
std::chrono::high_resolution_clock::now();
Но когда я читаю соответствующие значения часов, считанные этими двумя процессами, я обнаруживаю, что всегда есть разница в несколько микросекунд. Это потому, что системные часы являются общим ресурсом, поэтому нужно ждать, пока другой закончит чтение? Это потому, что функции, которые читают системные часы, не одинаковы, поэтому разрешение по времени не одинаково? (но это кажется мне маловероятным ... потому что в моем понимании разрешение по времени задается RTC, а не высокоуровневыми API)Я не использую какую-либо конкретную «меру» для синхронизации этих двух процессов. Первый постоянно пытается прочитать системные часы (у него есть время (1)), второй читает системные часы, когда я его запускаю. Таким образом, поскольку первый процесс всегда пытается прочитать системные часы, я думаю, что, вероятно, будет возникать «состояние гонки», когда процесс 2 попытается прочитать часы.