>ハッカ飴 2002/07/26 (金) 04:55:38        [mirai]
> > それをどのようにして実装しようと貴殿は考えていたのかね?
> 1つのファイルについて、解除無しに排他的ロック→共有ロックができれば、だけど・・・
> 1つのファイルを用意する、これを「ロックを掛けるファイル」略して「lockfile」とするだろ?
> この内容はファイルの使用状況(不使用|読み|読み書き)の繰り返しだ。
> 1文字1要素とした文字列だな。
> つまり、1つのlockfileに複数のファイル使用状況が記録されるわけだ。
> で、ロック処理な。
> まずlockfileに排他的ロックを掛ける。
> この排他的ロックはlockfileを確実に書き換えるためのものだ。
> ロックに成功したら、内容を書き換える。
> どう書き換えるかというと、これから行うファイル処理に合わせて。
> 全ファイルについて、(使わない|読み|読み書き)の3つで、どう使うのか決めるんだ。
> その後で排他的ロック→共有ロック。
> この共有ロックは「lockfileに記録されている使用状況で、処理中のプロセスがある」
> ということを表す。
> このロックが利いているうちは、lockfile内の使用状況書き換えは行われないし、
> 他のプロセスからもロックできる。
> つまり、この方式の利点は、1回のflockで、複数ファイルを最大限共有するロックを掛けられるということ。
> よく使われるような方法だと、全ファイルを一緒くたにして排他的ロックとか、
> 一緒くたにして共有ロックとかだろ?
> 排他的、共有はファイルごとにやると効率が良いんだ。

この方式の利点がさっぱりわからん
flockが使える環境ならファイル毎にロックをかけるのが普通じゃないか?
flockを1回にする意味は?

参考:2002/07/26(金)04時50分04秒