Motorola Solutions Interview Question

Describe several ways of resolving concurrency problems in multi-threaded systems.