serve using thread pool and thread pool blocking via ring buffer