Thread

Tenho uma dúvida…
Quando uma thread entra em um método sincronizado de um objeto e adquire a trava, se a thread chamar sleep() ela continuará com a trava para o objeto durante o tempo em que ela dorme ou o objeto é liberado durante esse tempo??

Ela continua com o lock, porem outras threads para outros objetos poderao rodar.

Rafael

Continuando a duvida do bruno…
E se as outras threads (todas elas, vamos supor) estiverem esperando para obter o lock do objeto que tah com a thread dorminhoca?
O sistema vai “parar” eqto o lock estiver com a tread dormindo???

Se voce tiver 5 threads, todas para o mesmo objeto, todas - 1 vao estar esperando enquanto uma delas estiver rodando. Como somente pode haver um lock por objeto, e levando em considecao que sleep() nao libera o lock, todas as outras do mesmo objeto estarao esprando ate a que estiver rodando terminar.

Rafael