Implementing multithreading

You are experiencing deadlocks in your code. It’s true that you have a lot of locking statements and you are trying to improve your code to avoid the deadlocks.

How can you orchestrate your locking code to avoid deadlocks?
How can the Interlocked class help you?