<!-- If you need to report a security issue please visit https://github.com/apache/dubbo/security/policy -->

ExtensionLoader cannot be resumed after interruption.

```
java.lang.InterruptedException
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1302)
  at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
  at org.apache.dubbo.common.utils.ClassLoaderResourceLoader.loadResources(ClassLoaderResourceLoader.java:55)
  at org.apache.dubbo.common.extension.ExtensionLoader.loadDirectory(ExtensionLoader.java:1005)
  at org.apache.dubbo.common.extension.ExtensionLoader.loadDirectory(ExtensionLoader.java:943)
  at org.apache.dubbo.common.extension.ExtensionLoader.loadExtensionClasses(ExtensionLoader.java:931)
  at org.apache.dubbo.common.extension.ExtensionLoader.getExtensionClasses(ExtensionLoader.java:913)
  at org.apache.dubbo.common.extension.ExtensionLoader.createExtension(ExtensionLoader.java:752)
  at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:548)
  at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:523)
  at org.apache.dubbo.rpc.protocol.injvm.InjvmInvoker.<init>(InjvmInvoker.java:74)
```
cacheKey += "_origin";
        }
        final Holder<Object> holder = getOrCreateHolder(cacheKey);
        Object instance = holder.get();
        if (instance == null) {
            synchronized (holder) {
                instance = holder.get();
                if (instance == null) {
                    instance = createExtension(name, wrap);
                    holder.set(instance);
                }
            }
        }
        return (T) instance;
    }
    /**
     * Get the extension by specified name if found, or {@link #getDefaultExtension() returns the default one}
     *
     * @param name the name of extension
     * @return non-null
     */
    public T getOrDefaultExtension(String name) {
        return containsExtension(name) ? getExtension(name) : getDefaultExtension();
    }
    /**
     * Return default extension, return <code>null</code> if it's not configured.
     */
    public T getDefaultExtension() {
        getExtensionClasses();
        if (StringUtils.isBlank(cachedDefaultName) || "true".equals(cachedDefaultName)) {