Returns a new worker thread operating in the given pool.
Returning null or throwing an exception may result in tasks
never being executed. If this method throws an exception,
it is relayed to the caller of the method (for example
{@code execute}) causing attempted thread creation. If this
method returns null or throws an exception, it is not
retried until the next attempted creation (for example
another call to {@code execute}).
@param pool the pool this thread works in
@return the new worker thread, or {@code null} if the request
to create a thread is rejected
@throws NullPointerException if the pool is null
Returns a new worker thread operating in the given pool. Returning null or throwing an exception may result in tasks never being executed. If this method throws an exception, it is relayed to the caller of the method (for example {@code execute}) causing attempted thread creation. If this method returns null or throws an exception, it is not retried until the next attempted creation (for example another call to {@code execute}).
@param pool the pool this thread works in @return the new worker thread, or {@code null} if the request to create a thread is rejected @throws NullPointerException if the pool is null