private void startTaskThread(TaskMonitor monitor) {

		// add the task here, so we can track it before it is actually started by the thread
		TaskUtilities.addTrackedTask(task, monitor);

		String name = "Task - " + task.getTaskTitle();
		GThreadPool pool = GThreadPool.getSharedThreadPool(Swing.GSWING_THREAD_POOL_NAME);
		Executor executor = pool.getExecutor();
		executor.execute(() -> {
			Thread.currentThread().setName(name);
			try {
				task.monitoredRun(monitor);
			}
			finally {
				taskFinished();
			}
		});
	}
Helper class to launch the given task in a background thread, showing a task dialog if
this task takes to long. See {@link TaskLauncher}.
Ghidra/Framework/Docking/src/main/java/ghidra/util/task/TaskRunner.java