A cascading blocked thread is a thread waiting for an external event while other threads wait behind it. Unlike a deadlock, the chain does not return to a thread already investigated. section 8.2.1
Investigate the pattern in a thread dump by:
- Removing threads that are not blocked. section 8.2.1
- Following lock identifiers through the blocked-thread chain. section 8.2.1
- Checking whether the chain ends at an external event rather than forming a circular wait. section 8.2.1
Typical external wait
A chain may end with a thread reading from a data source or calling an endpoint, leaving the other threads waiting in sequence. section 8.2.1
Figure 8.10 Cascading locks appear when multiple threads enter a chain where they wait for one another. The last thread in the chain is blocked by an external event, such as reading from a data source or calling an endpoint.
Use the diagram to distinguish a cascading lock chain from a circular deadlock and locate the external event at its end. section 8.2.1
