Updated AbstractChannelListener to allocate a fixed thread pool that scales to the number of available CPUs.