Questiont about issues of concurrency such as synchronization and deadlocks.
Concurrency is the study of systems in which multiple threads of computation or processes execute in the same environment and at the same time. The concurrent threads may execute simultaneously on different processors or in turns. Concurrency studies how these computations are executed and how they may interact.
Of particular interest are situations when multiple threads compete for the same resources, potentially causing for instance data races or dead locks. Concurrency theory investigates how such situations can be avoided and how programs can be proven to never run into one.