First, I'm assuming that calling any function of std::chrono is guaranteed to be thread-safe (no undefined behaviour or race conditions or anything dangerous if called from different threads). Am I correct?
Next, for example on windows there is a well known problem related to multi-core processors that force some implementations of time related systems to allow forcing a specific core to get any time information.
What I want to know is:
- using std::chrono, in the standard, is there any guarantee that think kind of problem shouldn't appear?
- or is it implementation defined
- or is there an explicit absence of guarantee that imply that on windows you'd better get time always from the same core?