...
Blocking or lengthy operations performed within synchronized regions could result in a deadlocked or unresponsive system.
Rule | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
LCK09-J | Low | Probable | High | P2 | L3 |
Automated Detection
Some static analysis tools are capable of detecting violations of this rule.
Tool | Version | Checker | Description | ||||
---|---|---|---|---|---|---|---|
CodeSonar |
|
JAVA.CONCURRENCY.STARVE.BLOCKING | Blocking in Critical Section (Java) | ||||||
Parasoft Jtest |
|
CERT.LCK09.TSHL |
CERT.LCK09.TSHL2 | Do not use blocking methods while holding a lock Do not call 'Thread.sleep()' while holding a lock since doing so can cause poor performance and deadlocks | |||||||
PVS-Studio |
| V6095 |
ThreadSafe |
| CCE_LK_LOCKED_BLOCKING_CALLS | Implemented | ||||||
SonarQube |
| S2276 | Implemented |
Related Guidelines
Bibliography
...
...