Two solutions to the classic dining philosophers problem