Refactor, a single thread executor pool cannot be used, otherwise a deadlock will occur if a thread is blocking.