877 バイト追加,
2020年2月10日 (月) 03:10 '''ロックディレクトリ'''とは、[[ディレクトリ]]の作成と削除を使った[[排他制御]]の実装方法のひとつである。
== 概要 ==
「まともな[[OS]]では、[[ファイル]]の操作は明示しない限り排他的ではないが、[[ディレクトリ]]の操作は常に排他的である」という特徴を利用した[[排他制御]]の方法である。
ディレクトリの作成はOSレベルで強制的にシングルスレッドで実行されるという特性を利用している。
<source>
if ( !mkdir("/tmp/lock") )
{// ロック失敗
}
else
{// ロック成功
}
</source>
[[排他制御]]の実装方法として[[UNIX]]系では一般的なflock関数に相当するものがない[[Windows]]でも
[[ソースコード]]を分岐させずに、かつ簡潔明瞭に実装できるとして人気がある。