This is a synchronization failure. The problem is that the scanning of the group took time. Between the time that the scan started and the time that the scan completed, the student was able to change his position, so that the camera recorded him in both places. A second example arises when two writes conflict. Synchronization prevents one animacy from reading the state while the other might be changing it.
Synchronization is only necessary when there can be a write to shared state.
Java synchronized The primary means of ensuring mutual exclusion in Java is through synchronized methods. In each object at most one synchronized method can run at any one time. We say that a synchronized method obtains a lock on its containing object before it can execute. Locking an object only prevents access to other methods or code blocks that also require a lock on the same object. Java has a second form of synchronized execution.