"w"モードで同じファイルを開く2つのプログラムがあります。返されるファイルポインタは、どちらの場合も同じです。私はこれが起こらないと理解した。私が間違っている?2つのアプリケーションが同時に1つのファイルを開く
-2
A
答えて
0
同時性を管理する必要があります。 2つの異なるプログラムまたはスレッドが1つのリソースにアクセスする場合、相互に排他的な条件でリソース(この場合はファイル)にアクセスするためにそれらを管理する必要があります。
1
書き込み用のファイルを同時に開くと、競合状態が悪くなり、同期に関する問題が発生する可能性があります。
fopen
はFILE
構造体へのポインタを返します。この構造体は、アプリケーションのプライベートメモリ空間に割り当てられます。今日では、各プロセスに独自の(virtual) memory addressスペース(オペレーティングシステムによって実際のメモリアドレスにマップされています)があります。したがって、同じメモリアドレスが2つの独立したプログラムで使用されている場合、通常、後ろの実メモリは同じではありません。
FILE構造にはファイルを識別するためにオペレーティングシステムによって提供される(整数)ファイルハンドルがありますが、ファイルハンドルは(少なくともUnixのようなシステムでは)アプリケーション固有であるため、これは何も意味しません。
関連する問題
- 1. 同時に2つのフォームを開く
- 2. 同時に2つのポップアップの代わりにその時に1つのポップアップを開くには?
- 3. 複数のアプリケーションから1つのMIDI入力ストリームを同時に開く
- 4. 2つのバージョンのアプリケーションの同時更新と展開
- 5. 2つの異なるウィンドウで同じコードの2つのファイルを開く
- 6. 1つのXcodeプロジェクト、2つのターゲット、2つのアプリケーション、2つのDefault.pngファイル?
- 7. 私は2つのapkを同一のアプリケーションで1つをプロダクトに、もう1つをアルファチャネルで同時に持つことができます
- 8. 2つではなく1つのウィンドウを開くPythonのtkinter
- 9. 同時に2つのweblogic consoleを開くことができません
- 10. 同じアプリケーションインスタンスで2つのファイルを開く
- 11. 1つのリンクで同じページに2つのIframeターゲットが開かれます
- 12. Capitranoはダウンタイムなしで同時に2つのアプリケーションを展開します
- 13. (Windows)同じファイルを同時に開く
- 14. 同時に2つのレイアウトが1つの画面で同時に実行されます
- 15. 2つのzendアプリケーション:サブドメインに1つ、ルートに1つ
- 16. Delphiで2つのHTMLHelpファイルを同時に開くと、両方のヘルプウィンドウがハングアップする
- 17. 1つのアプリケーションで同じパッケージ名の同じlibaryの2つのバージョン
- 18. Appium - iOSアプリケーションを1つ閉じて別のアプリケーションを開く
- 19. 1つではなく2つのプロセスを開始するサブプロセス
- 20. フォルダ内のすべてのファイルを1つずつ開く
- 21. 1つのBlackBerryアプリケーションに2つの別々のWebページを同時に表示する
- 22. 1つのアプリケーションの2つのリソースセット
- 23. Xcodeヘルプファイルとアプリケーションを同時に開く
- 24. vimで2つのファイルを分割して同時に開くことができます
- 25. 2つのタイルと1つのアプリケーション
- 26. Log4j 1と2 - 2つのLog4Jバージョンのカスタムアペンダーを同時に同じファイルに書き込む
- 27. Python:2つのTkinter Windowsを同時に開くことはできますか?
- 28. 同時に、1つのユーザーアカウントの1つのアクセストークンだけが私のアプリケーションにアクセスします - Web API(OAuth2)
- 29. Python:Windowsで2つの同一ファイルを開くことができません
- 30. 2つのアプリケーションを同時に実行する
どのような意味で間違っていますか? – Aziz
あなたが意味することを理解していない: "返されるファイルポインタはどちらの場合も同じです"。そして、あなたは "競合状態"を調べるべきです。両方のプログラムが同時に同じファイルに書き込もうとするとどうなりますか? – chikuba
同時に複数のスレッド/アプリケーション/ ..から同じ領域が書き込まれたときに、大きな問題に対処できますか? –