あるプログラムAとBを走らせているとして、

Aが あるファイルをディスクに保存し、ソケット等でBにファイルを保存したことを知らせる
↓
知らせを受信したBが そのファイルを開く。

この時、Aの保存したファイルがBで開いたファイルと同期は取れているという保証はある?
Aでの保存処理を完了していないままBで開いてしまうということは起こりうるか?

一応かいておくとOSはwindows7
ソケットでファイルのデータ送れよってのは無しで頼む