PHPでのカウンタについて疑問があるので質問させて下さい。

色々なサイトなどでカウンタのスクリプトのソースを見たのですが、
どうしても腑に落ちない所がありました。

DATファイルなどにカウンタの値を記録しておいて、
アクセス時にその内容を読み込み、カウントをアップし、
そして、書き込み時にファイルをロックしてカウンタを増やしているという
サンプルが殆どなのですが、この場合って不具合起きませんか?

AとBがほぼ同じタイミングでアクセスした場合、
AもBも同じ内容のカウンタを取得し、お互いにカウントアップし、
どちらかが先に書き込んだあと、同じ値で上書きされるような気がします。

やはり、カウントアップして書き込み終わるまでファイルが読み込めないようにした方がいいのでしょうか?