What happens if you set the worker Thread as a daemon thread via the Thread method, setDaemon(true)?