居眠り床屋問題
いくつかの解法が存在する。解決の鍵はミューテックス(mutex)で、これは登場人物のうちミューテックスを持つ一人だけが状態を変更できる(同時に二人以上の状態が変更しない)ことを保証するものである。理容師は待合室を調べるまえにミューテックスを得なければならず(そして別の客の髪を切り始めるか昼寝を始めるかする時にmutexを開放する)、一方で客は入店するときにミューテックスを得なければならない(そして理容椅子か待合室の椅子に座った時にミューテックスを開放する)。これにより先述の問題は両方とも解決する。また、システムの状態(待合室の人数や理髪椅子の状態)を変更するのにも、いくつかのセマフォが必須となる。
複数の居眠り床屋問題(multiple sleeping barbers problem)は、実装と注意点において類似するが、複数の理容師と待機する客との調整に関してさらなる複雑さがある。
計算機科学における居眠り床屋問題(いねむりとこやもんだい、sleeping barber problem)とは、典型的なプロセス間通信およびプロセス間での同期に関する問題である。客がいる限り働いたまま、客がいなければ休んだままということを繰り返す理容師に例えられることからついた名称。理容師と客の挙動で、前述したプロセス間の問題を表現する。