GIa' , pero' a mio avviso e' sempre un problema risolvere la sincronizzazione su sistemi web dove e' tutto stateless.

Per questo si usano i database che gestiscono gia' la concorrenzialita'.

Pensa ad una soluzione su database.

ANche se puoi bloccare un file e due utenti si registrano nello stesso istante e accedono al file nello stesso momento a meno che tu non faccia qlke ciclo con qlke sleep, per evitare gli errori in fasi di accesso ad un file "lokkato", dovresti davvero smazzarti per gestire un caso che con un database non ti si presenta quasi mai.