SwingWorker is not what im looking for. Imagine my process thread is an email messaging system, or an air traffic control system or something. Just because a component needs to access one thing in the system doesnt mean the whole system should be a SwingWorker. Essentially, in the locked "process(task)" method of my system, I need to pause and share something ...