[concurrency-interest] Hung progress in ThreadPoolExecutor ExecutorCompletionService when slave threads killed.

Zhong Yu zhong.j.yu at gmail.com
Sun May 13 23:34:31 EDT 2012


If an exception can occur any where any time, it is impossible to
write code that can survive it and maintain invariants.

    lock
        x++;
        y++;
    unlock

If we have to worry that some exception may be thrown between x++ and
y++, we cannot write any program at all.

ThreadDeath is exactly such an exception.

Others include OutOfMemoryError and StackOverflowError - they are more
predictable, but still, we cannot afford to worry about them on every
`new` and every method call.

Zhong Yu


More information about the Concurrency-interest mailing list