O código começa com a declaração de variáveis e de semáforos que serão utilizados. Logo após, o procedimento GeneratePeople() cria uma fila para entrar no banheiro unissex, contando quantas pessoas e de qual sexo está esperando. O procedimento entraBanheiro() controla a entrada no banheiro utilizando a variável GenderUsingBathroom para saber qual o gênero que está no momento no banheiro, e a variável PeopleInBathroom verifica se há pessoas no banheiro. Por último, o procedimento liberaBox() é chamado pela(s) pessoa(s) que entrou(ram) no banheiro quando já saiu(ram), permitindo que os próximos utilizem do banheiro.