Why do you have to fix your timestep instead of having a SetFPS function?

Hi, how do you update/copy visual data without locking? Won’t there be contentions between threads?