Resolución utilizando lockeo. En esta versión se utilizan 2 clases, la clase palitos y la clase filosofos, donde la primera tiene métodos para tomar y soltar los palitos los cuales son con con lockeo exclusivo, es decir, que solo un proceso podra acceder al método simultaneamente. Cabe remarcar que la clase palitos posee 3 métodos: tomar(), dejar() y free(), los 3 con lockeo. Esto es importante pues cada proceso consulta el estado del palito con el método free() para verificar si el palito puede ser tomado, de ser así, lo toma y prueba si puede tomar el otro. Si este método no fuera exclusivo podría retornar un estado falso del palito y dos comensales podrían comer con el mismo palito simultaneamente, es por eso que al tomar un palito, el filósofo registra que lo tiene tomado, y luego si pudo tomar ambos palitos está en condiciones de comer (un tiempo aleatorio). Luego suelta los palitos y se dedica a pensar nuevanmente por un tiempo aleatorio.