@Override
    public void run() {
        if (!mDone) {
            synchronized (this) {
                if (!mDone) {
                    call();
                    mDone = true;
                }
            }
        }
    }
ActionAsyncTask use to {@link Action} and {@link Runnable}
<p/>
See {@link Run}
caprice/kit-handler/src/main/java/net/qiujuer/genius/kit/handler/ActionAsyncTask.java