We are thinking if we can reuse the single pipe, created on startup, between multiple threads from ThreadPoolExecutor. Is it thread safe?