All pastes #753518 Raw Edit

Something

public cpp v1 · immutable
#753518 ·published 2007-10-29 09:43 UTC
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;	}