It also keeps a running sum of the total amount of time spent in all user programs. Two threads increment their local counters for their processes, then concurrently increment the global counter. Their increments interfere, and the recorded total time spent in all user processes is less than the sum of the local times. So, programmers need to coordinate the activities of the multiple threads so that these bad things don't happen. These operations allow threads to control the timing of their events relative to events in other threads.
Appropriate use allows programmers to avoid problems like the ones outlined above.