private Future asyncExecute(String address, Runnable runnableToExecute) {
    ExecutorService asyncThreadExecutor = getAsyncThreadExecutor(address);
    return asyncThreadExecutor.submit(runnableToExecute);
  }
Call close when you are all done with your socket closer. If you call asyncClose after close is
called then the asyncClose will be done synchronously.
geode-core/src/main/java/org/apache/geode/internal/net/SocketCloser.java