1) Process A open data file to read, puts lock on it then removes lock when done 2) Process B reads data file, puts lock on it, remove it when done. 3) Process C does the same. Now we have three different process with same data. Fine. But: 1) Process A finishes and writes to file. 2) Process D reads file. 3) Process B finishes and writes data file, overwriting A's work. 4) Process E reads file (saved by Process B). Now Process D and E have totally different starting points.