rendered paste body#include <boost/thread.hpp>#include <boost/bind.hpp>#include <iostream>boost::mutex resourceX;boost::mutex resourceY;void deadlockThreadAFunc(){ int counter = 0; while(true) { boost::mutex::scoped_lock lockX(resourceX); boost::thread::yield(); // to encourage deadlock boost::mutex::scoped_lock lockY(resourceY); std::cout << "threadA working: " << ++counter << "\n"; }}void deadlockThreadBFunc(){ int counter = 0; while(true) { boost::mutex::scoped_lock lockY(resourceY); boost::thread::yield(); // to encourage deadlock boost::mutex::scoped_lock lockX(resourceX); std::cout << "threadB working: " << ++counter << "\n"; }}int main() { boost::thread thread1(&deadlockThreadAFunc); boost::thread thread2(&deadlockThreadBFunc); boost::thread::yield(); std::cout << "End" << std::endl; while (1) { if ( std::cin.get() ) break; } return 0; }