Part 96 How to resolve a deadlock in a multithreaded program