code: public void await(long weight) throws InterruptedException {
          try {
              lock.lockInterruptibly();
              while (isPermit(weight) == false) {
                  condition.await();
              }
          } finally {
              lock.unlock();
          }
      }
docs: 阻塞等待weight允许执行
  
  <pre>
  阻塞返回条件：
  1. 中断事件
  2. 其他线程single()的weight > 当前阻塞等待的weight
  </pre>
  
  @throws InterruptedException