Maria,
No es lo mismo. Fíjate el siguiente caso:
- Cuando el box llega al select ya hay algún productor en el mismo y no hay nadie más que quiera un encuentro con el box.
En tu código propuesto la entrada de los productores quedaría abierta (porque no hay auditor esperando) y la de los auditores cerrada (porque hay un productor adentro). Un momento más tarde llega un auditor pero la entrada está cerrada. Luego llega otro productor y lo vas a dejar entrar, pero no deberías porque hay un auditor que tiene prioridad.
Con la solución publicada esto no pasa porque la entrada de anuncio de un auditor queda abierta y luego cuando llega el segundo productor no se lo deja entrar porque el box ya sabe que hay un auditor esperando.
Saludos,
Gustavo