Q:

time calculation between method and Thread.sleep()

Scenario: 
a bunch of cars going from north to south (viceversa) travel along a two lane road.
After a while they reach a bridge. The bridge is one way only and it has limited capacity. 
A car spend 100ms to go through the bridge. No traffic collision are allowed. 
Given that I need to calculate, for all the cars, 

the time between a car request for entering the bridge and the
  beginning of crossing.

For example: if a car, going north, gets at the bridge and finds out that there are cars on the bridge going south, it
must wait. How long does it have to wait?
Of course if there's only one car (the bridge is empty) the car's waiting time is= 0.
In case of two cars (opposite directions, bridge capacity=1) the time should be: 0 and 100ms.
According to the code I wrote I get zero as waiting time for one car but less than 100 for the other car which is wrong.
Is there any reason for that? 
In my opinion, it's only a matter of getting the time between : 
bridge.getin(direction); 

and 
Thread.sleep(100);

Thanks in advance.
Here's part of the code I'm referring to:
public void run(){
        Random rand = new Random(); //class for random numbers

        int timeToSleep = 10 + rand.nextInt(11);
        try {
            Thread.sleep(timeToSleep); //simulate the arrival at the bridge (it's not part of the calculation)

            executionTime = System.currentTimeMillis(); //starts recording time

            // The bridge is a one way bridge (it should avoid traffic collision)

            bridge.getin(direction);        //method call (thread asks to enter the shared section)

            executionTime = System.currentTimeMillis() - executionTime; // get time spent by a thread before crossing

            Thread.sleep(100);             //simula l'attraversamento del ponte

            bridge.getout(direction);          //leaves the bridge

        } catch (InterruptedException e) {
            System.out.println("Car "+id+": interrupted!");
        }
    }

A:

If the second car comes to the bridge when the first car has already spent 75 millis on the bridge, it seems logical to me that the second car only waits 25 millis.

