When using a TaskPool in any non-pooled-thread, the thread may block to wait for the completion of the pool tasks. However, in a pooled thread, blocking is not allowed because that would stop the thread pool from proceeding with its work. Instead, pooled threads should yield to other tasks instead of waiting idly.
Fixed|libcore: Waiting for task pool completion
When using a TaskPool in any non-pooled-thread, the thread may block to wait for the completion of the pool tasks. However, in a pooled thread, blocking is not allowed because that would stop the thread pool from proceeding with its work. Instead, pooled threads should yield to other tasks instead of waiting idly.