Я считаю, что соответствующая часть стандарта, [time.clock.req]
, диктует, что часы type определяют эпоху, поэтому, пока вы используете steady_clock
, потоки не имеют значения:
A clock
- это пакет, состоящий из duration
, time_point
и функции now()
для получения тока time_point
. Происхождение часов time_point
называется эпохой часов.
Было бы плохо, если бы вы не смогли надежно получить duration
, вычитая два time_point
переменные только потому, что они были сгенерированы в отдельном потоке: -)
Обратите внимание, что это применимо только в рамках стандарта. Поскольку вопрос, на который вы ссылались, касался отдельных процессов , стандарт не предписывает поведение так или иначе.
Это не отличается от написания двоичного файла time_point
(или даже int
) и ожидаем, что он будет таким же, когда читаем его обратно в совершенно другой системе (например, пишем в младшем порядке int
и пытаемся прочитать его обратно в системе с прямым порядком байтов).
Но стандарт охватывает многопоточность, поэтому вы можете безопасно обрабатывать различные time_point
переменные одного и того же типа часов как совместимые.