Non-atomic: Operations that are non-atomic but interruptible by multiple processes can cause problems.
Race conditions: A race condition occurs of the outcome depends on which of several processes gets to a point first.
Blocking: Processes can block waiting for resources. A process could be blocked for a long period of time waiting for input from a terminal. If the process is required to periodically update some data, this would be very undesirable.
Starvation: It occurs when a process does not obtain service to progress.
Deadlock: It occurs when two processes are blocked and hence neither can proceed to execute