synchronized method

Executing a thread-safe execution by locking the instance or the class

synchronized block

Executing a thread-safe execution by locking the object

reentrant lock and reentrant read-write lock

Wait-Notify

Symaphore