public static CompletableFuture<Void> runAsync(String poolName, Runnable r) {
		GThreadPool pool = getSharedThreadPool(poolName);
		Executor ex = pool.getExecutor();
		return CompletableFuture.runAsync(r, ex);
	}
Runs the given runnable in a background thread using a shared thread pool of the given name.
@param poolName the thread pool name
@param r the runnable
@return the future
Ghidra/Framework/Generic/src/main/java/generic/concurrent/GThreadPool.java