Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Failure to start threads correctly can cause unexpected behavior.

Rule

Severity

Likelihood

Remediation Cost

Priority

Level

THI00-J

Low

Probable

Medium

P4

L3

Automated Detection

Automated detection of direct invocations of Thread.run() methods is straightforward. Sound automated determination of which specific invocations are permitted may be infeasible. Heuristic approaches may be useful.

Tool
Version
Checker
Description
CodeSonar4.2FB.MT_CORRECTNESS.RU_INVOKE_RUNInvokes run on a thread (did you mean to start it instead?)
Coverity7.5DC.THREADING.thread_runImplemented
Parasoft Jtest
Include Page
java:
Parasoft_V
java:
Parasoft_V
TRS.IRUNImplemented
SonarQube Java Plugin
Include Page
SonarQube Java Plugin_V
SonarQube Java Plugin_V
S1217
 
- Thread.run() should not be called directly

Related Guidelines

MITRE CWE

CWE-572, Call to Thread run() instead of start()

Android Implementation Details

Android provides a couple of solutions for threading. The Android Developers Blog's article "Painless Threading" discusses those solutions.

Bibliography

...


...