3

Windowsでファイルをロックして、現在のスレッド(同じプロセスの他のスレッドや他のプロセスがない)だけがファイルにアクセス(読み取り/書き込み)できるようにするにはどうすればよいですか?

可能であれば、fcntlのような解決策(記述子を持つファイルをロックする解決策)を教えてください。しかし、いずれにせよ、他の解決策も歓迎します。

4

2 に答える 2

5

Windowsでは、API関数で共有モードCreateFileに指定して排他アクセスでファイルを開くことができます。0詳細については、この MSDN リンクおよびこの MSDN リンクを参照してください。

于 2011-07-26T16:03:34.637 に答える
1

WinAPI 呼び出しLockFileを使用します。使用を次に示します。ただし、これは他のプロセスがファイルにアクセスするのを防ぐだけで、同じプロセス内の他のスレッドがファイルを使用できるようにします。

編集:これがC++であるとは思いませんでした。申し訳ありませんが、スレッド間のC#ソリューションしか知りませんが、MSDNリンクは少なくとも他のプロセスがファイルにアクセスするのを防ぐことから始めることができます.

于 2011-07-26T15:56:47.610 に答える