Tag: concurrency

Missing timeout check on CountDownLatch.await

Missing timeout check on CountDownLatch.await can cause synchronization errors.

Preserve thread interruption status rule

Preserve Thread Interruption Status Rule.

Misconfigured Concurrency

Misconfigured CompletableFuture.get or Future.get.

Unexpected re-assignment of synchronized objects

Synchronized objects should not be re-assigned in the same synchronized block because the references to the synchronized object would be lost.

Concurrency deadlock

Improper use of locks in a multi-threaded program can lead to deadlock and cause the program to be unresponsive.

Improper use of classes that aren't thread-safe

Improper use of thread-unsafe classes in multi-threaded programs can cause the programs to be unstable.

Atomicity violation

Atomicity violations caused by improper usage of ConcurrentHashMap or ConcurrentLinkedQueue can result in crashses or incorrect program results.

Oversynchronization

Oversynchronization with ConcurrentHashMap or ConcurrentLinkedQueue can reduce program performance.