ロックディレクトリ

提供: MonoBook
ナビゲーションに移動 検索に移動

ロックディレクトリとは、ディレクトリの作成と削除を使った排他制御の実装方法のひとつである。

概要

「まともなOSでは、ファイルの操作は明示しない限り排他的ではないが、ディレクトリの操作は常に排他的である」という特徴を利用した排他制御の方法である。

つまりディレクトリの作成はOSレベルで強制的にシングルスレッドで実行されるという特性を利用している。

if ( !mkdir("/tmp/lock") ) 
{// ロック失敗
} 
else 
{// ロック成功   
}

排他制御の実装方法としてUNIX系では一般的なflock関数に相当するものがないWindowsでも ソースコードを分岐させずに、かつ簡潔明瞭に実装できるとして人気がある。