CodeQL documentation

Not thread-safe

ID: java/not-threadsafe
Kind: problem
Security severity: 
Severity: warning
Precision: high
Tags:
   - quality
   - reliability
   - concurrency
Query suites:
   - java-code-quality.qls

Click to see the query in the CodeQL repository

In a thread-safe class, all field accesses that can be caused by calls to public methods must be properly synchronized.

Recommendation

Protect the field access with a lock. Alternatively mark the field as volatile if the write operation is atomic. You can also choose to use a data type that guarantees atomic access. If the field is immutable, mark it as final.

References

  • © GitHub, Inc.
  • Terms
  • Privacy