IT用語集 › プログラミング › Futex

Futex

プログラミング Svenska → 更新: 2026-10-21

誰も奪い合っていなければ、ロックはただで取れる。fast userspace mutexの略で、Linuxのスレッド同期を支える部品である。

従来のロックは、空いていても必ずカーネルを経由し、そのたびにシステムコールの費用がかかった。Futexはよくある場合をユーザー空間に移す。競合のないロックの取得は、共有整数に対するアトミック操作だけで済み、カーネルは関与しない。

実際に誰かが待たねばならないときにだけfutex()が呼ばれ、スレッドは起こされるまで眠る。うまく書かれたコードでは競合は稀なので、ほとんどの場合は高速な経路を通る。glibcのミューテックスと条件変数はすべてこの上に作られているが、プログラマがこの呼び出しを直接目にすることはまずない。

← 用語集に戻る