CWE-383

J2EE Bad Practices: Direct Use of Threads
AI Translation Available

Thread management in a Web application is forbidden in some circumstances and is always highly error prone.

Status
draft
Abstraction
variant
Java Web Based Web Server

Thread management in a web application is forbidden by the J2EE standard in some circumstances and is always highly error prone. Managing threads is difficult and is likely to interfere in unpredictable ways with the behavior of the application container. Even without interfering with the container, thread management usually leads to bugs that are hard to detect and diagnose like deadlock, race conditions, and other synchronization errors.

Common Consequences

other
Impacts
quality degradation

Detection Methods

automated static analysis

Potential Mitigations

Phases:
architecture and design
Descriptions:
• For EJB, use framework approaches for parallel execution, instead of using threads.