I am very confused with this. Doesn't a producer have a built-in thread pool? 

If it doesn't and we want to implement a pooled producer, the logic here may or may not work based on whether the producer is thread safe or not, whether they can multiplex requests or not and stuff.