Mutual Exclusion – ME
Problems with using locks include deadlock (where processes wait indefinitely for a lock), livelock (where processes keep changing state without making progress), and starvation (where a process never gains access to the resource because others are continuously locking it).
TutorialsPoint Article: Lock Variable Mechanism