ファイルのオープンに排他処理をかけるには?


たき  2002-10-30 06:24:04  No: 105309

DLLの処理の中で、ログファイルにログを出力している部分があるのですが、
そのDLLが複数同時に呼ばれてもいいように、
ログの出力に排他処理をかけるように頼まれたのですが、
どうやればいいのかわかりません。調べてみたのですが、
DBアクセスの排他しか見つからなくて。
どなたかご教授願えませんでしょうか。
ちなみに、
ログの出力の一連の動作としては、
ログファイルをオープン(Appendモード)して、
Printステートメントで書き込み、
クローズする、
ということをその都度しています。


あき☆彡  2002-10-30 06:50:45  No: 105310

Open ステートメントで Lock Write を指定すれば良いと思います。


たき  2002-10-30 06:59:04  No: 105311

誰かがファイルを Lock Write で Openしている最中に、
他の人が Open ステートメントを実行しようとした場合は、
どうなるのでしょうか?(もちろん開きたいファイルは同じです)
後から開こうとした人は待たされるのでしょうか。
それとも、エラーになってしまうのでしょうか?


あき☆彡  2002-10-30 07:22:24  No: 105312

実行すれば分かる事だと思いますが・・・
   
エラーになるので、
後の人も書き込む必要があるのなら、
Open出来るまでリトライすれば良いと思います。


たき  2002-10-30 07:26:58  No: 105313

すみません、他にやることがあって、時間が取れなかったので。
先ほど自分でやってみたところ、エラーになりました。
少し時間が取れたので、もう少しいろいろ試してみます。
Lock ステートメントを見つけたので、これも試してみようと思います。
やれば分かることまで質問してしまい申し訳ありませんでした。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加