Yes, it could. However the pools themselves are lazy when creating threads (the pure Ruby ones, I'm not certain about the Java ones). So I felt the overhead would be small. Mainly I was just trying for the simplest implementation. I'm fine with delaying pool initialization until they are actually used.