Banheiro Unissex - Python
Desenvolvido por : Fernando Sobutka e Ricardo Harano Pinto
Desenvolvido por : Fernando Sobutka e Ricardo Harano Pinto
Problema Clássico do Banheiro Unissex utilizando a linguagem concorrente Python.
Índice:
Um escritório tem um banheiro unissex, ou seja, pode ser usado por homens e mulheres, mas não pelos dois ao mesmo tempo. Se um homem entrar no banheiro, podem entrar outros homens, mas não pode entrar mulher, ela deverá esperar todos os homens saírem e o banheiro ficar vazio para entrar. Se uma mulher entrar no banheiro, podem entrar outras mulheres, mas não pode entrar homem, ele deverá esperar todas as mulheres saírem e o banheiro ficar vazio para entrar.
Os trabalhadores deverão respeitar algumas regras:
Um trabalhador só pode entrar no banheiro se nenhum trabalhador do sexo oposto estiver lá.
Se o trabalhador estiver esperando e chegarem outros trabalhadores do mesmo sexo, todos poderão usar o banheiro simultaneamente.
Se o trabalhador estiver esperando e chegarem outros trabalhadores do sexo oposto, deverão esperar até que o primeiro trabalhador entre e saia do banheiro para entrarem.
Se o trabalhador estiver usando o banheiro e outro trabalhador do mesmo sexo chegue, deverá esperar o trabalhador que está no banheiro saia para poder entrar.
Ou seja, mesmo que um homem por exemplo esteja dentro do banheiro, e outro homem chegue, deverá esperar até que o outro saia para poder entrar. Sempre que precisar entrar dois ou mais trabalhadores do mesmo sexo, eles deverão entrar juntos, pois se chegar um e entrar e depois chegar outro, deverá esperar o trabalhador que esta no banheiro sair para poder entrar.