concept:
(A) Critical Area
The critical area is used to indicate a public resource, or a kind of shared data. It can be used by multiple threads, but each time only one thread can use it. Once the critical section is occupied, then other threads can only wait.
(B) deadlock (Deadlock), live lock (Livelock), hunger (Starvation)