インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

ファイル共有 (Linux* および macOS*)

このトピックは、Linux* および macOS* にのみ適用されます。

ユーザーのプログラムは、OPEN 文の ACTION (または READONLY) 指示子によって指定された値に従って、レコードの読み取り、書き込み、または読み取りと書き込みの両方を行うために、ファイルを開きます。これにより、そのプログラム自体が指定されたタイプの文を実行することがチェックされます。

ファイルロックのメカニズムは、特定のファイルをほかのプロセスがアクセスしているときに、他のユーザーによるファイルへのアクセスを許可または制限します。

インテル® Fortran のファイルロック機能では 3 種類のアクセスモードを提供しています。

ファイルロックのメカニズムは、OPEN 文中で対応する指定子の明示的な設定を探します。それ以外の場合、Fortran ランタイムは、いかなる設定やファイルロックのチェックも行わないため、プロセスはほかのプロセスが開いたりロックしているファイルであっても、関係なくそのファイルにアクセスできます。

例 1: 暗黙的共有モード (ロックなし)

プロセス 1 が、指定子なし (結果としてロックしない) でファイルを開きます。

プロセス 2 が、ファイルを開こうとします。

例 2: 明示的共有モード

プロセス 1 が、明示的共有モードでファイルを開きます。

プロセス 2 が、ファイルを開こうとします。

例 3: 排他モード

プロセス 1 が排他モードでファイルを開きます。

プロセス 2 が、ファイルを開こうとします。

Fortran ランタイムは、アクセスが競合する際のファイルエントリーの更新を調整しません。この場合、ユーザーが競合するプロセス間でアクセス時間を調整して、同じレコード位置で WRITE 文と REWRITE 文が同時に発生する可能性に対処する必要があります。