主要在两方面一方面是针对不在队列里的线程。对于这一类线程在尝试获取锁时,会判断当前队列是否为空,如果是,才尝试获取锁。另一方面是针对已入队里的线程。对于这一类线程在尝试获取锁时,会判断当前线程的前置节点是否为头结点。如果是,才尝试获取锁。