两个队列同时使用一个锁的问题?

用java的锁机制,出现问题的场景是本来程序每个队列都有各自的锁,但是由于编程人员疏忽其中两个队列写成了同一把锁,造成其中的队列有时候能执行有时候不能执行。但是按照我的理解就算共用一把锁应该也能等待直到拿到锁位置而不会一直都没法执行,不知道真实环境中为什么会出现某个队列一直没执行的情况?

http://blog.csdn.net/u010581990/article/details/46312939