I am following java concurrency in practice which is based on java 5 and in ThreadPoolExecutor when core pool size is set to 0, the task directly goes to the queue. This is not the case with java 8, even if the core pool size is set to 0, a new thread is created.
ThreadPoolExecutor with corePoolSize 0 should not execute tasks until task queue is full
So my question would be what could be some valid use cases where it makes sense to set core pool size as 0 in java 8, or does it no longer make any sense to do that ?