The scenario is this: you have two applications, both of which need to add themselves to the file. The following operations occur in order:
1. Application A reads the file into memory.
2. Application B also reads the file into memory.
3. Application A, having added itself to the list, writes the file back to disk.
4. Application B adds itself and writes back to disk.
Whatever Application A added to the file has now been lost, because Application B doesn't know about it.
You are running on a multi-tasking system, and in all probability a multi-core system, so the above scenario is not only possible, it is highly likely to occur.
1. Application A reads the file into memory.
2. Application B also reads the file into memory.
3. Application A, having added itself to the list, writes the file back to disk.
4. Application B adds itself and writes back to disk.
Whatever Application A added to the file has now been lost, because Application B doesn't know about it.
You are running on a multi-tasking system, and in all probability a multi-core system, so the above scenario is not only possible, it is highly likely to occur.