Maybe, I give you another example. Please see this structure:

Because the forum is not support the space charactor -> so i replace it with *

****obj*******obj***
A ----------> B ----------> C
****Bus*******Car***

In this model, Bus & Car is thread objects. Bus will move obj from A to B in 10 seconds. After that, Car will move obj from B to C in 10 seconds. The contraint is that Bus must finish before Car starts.

To make a look-feel as Bus is running, I divide AB to 10 small distances, & I set interval for steps is 1 second because 10 steps * 1 second = 10 seconds -> this is the time duration for Bus finish AB. But when I use this way, in fact Bus will finish more 10 seconds, because we must plus the time for calculations in one step. So, we have:
The time duration to finish AB = (1 + time_for_one_step)*10

Although time_for_one_step is very small but If I divide AB smaller, the extra time is bigger.
My problem is that how to Bus allways finish AB before 10 seconds but not too early.

Thanks. Please help me.