• ベストアンサー

カウンターなどのLock機能について

まだまだPerlをはじめたばかりで、カウンターなんて読み込んで+1してるだけです…(お恥ずかしい…) まだ自分でhttpdのサーバソフトを使って実験的におぉ!とかいって楽しんでいる程度ですが、初心者の参考書を読んでみるとflockでロック機能をもたせていました。 今学校でもunixの勉強をしており、本当に少しですが、unixのコマンドなどについても分かってきました。以前はぜんぜんでしたが…。 そこで、flockなどはunixサーバなどでじゃないと活用できないんですよね?このご時世でunixサーバでないというのも珍しいとは思うのですが、unixというものに依存するのがなんとなくいやです。(わがままですいません。) 分かりやすく、かつ高機能なロック(確実に壊れない【ないのでしょうが…】)はないのでしょうか?もし、よかったら、それのソースを教えていただきたいのですが、まだまだ分からないことだらけですが、いじでも勉強してやるきはあります! どうかよろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.1

こちらのサイト http://www.din.or.jp/~ohzaki/perl.htm の「排他制御(ファイルロック)をする」という所が、勉強になると思います。 http://www.din.or.jp/~ohzaki/perl.htm#File_Lock

参考URL:
http://www.din.or.jp/~ohzaki/perl.htm#File_Lock
ryo-3
質問者

お礼

早速見ました!しかし・・う~んやっぱり難しいですねぇ・・・↓ でも、一生懸命勉強します! また、よろしくおねがいします。ありがとうございました。

その他の回答 (1)

回答No.2

> 分かりやすく、かつ高機能なロック が、UNIX系のflockです。 unixに依存しないロックを、unixで動かしたとき、 flockよりもはるかにリソース(メモリ、CPU時間など)を食うプログラムに なってしまうはずです。 PerlのCGIだと。多く出回っているプログラム、スクリプトでも、 万全な、安全なロックのかけ方をしてるのって少ないですよ。 ほんとに問題はないのか、まずは疑ってみてください。 ロックに関しての問題点をすべて把握、解決でき、flockなみのロックを 自前で用意できるまでには、多くのステップがあることを覚悟してください。 脅かすわけじゃないけどね。 自分の場合は、flockがあるのでunix系を使ってます。 正しくflockを使ってるスクリプトも少ないので、これまた疑ってみて ください。 正しくflockを使わないと、flockを使ってもロック機能は生きません。

ryo-3
質問者

お礼

ありがとうございました。 所詮完璧なものはありませぬ、ですね。 いつか自分が完璧なものを作ってやる!笑 また、よろしくおねがいします。では、

関連するQ&A