I have a MFC application which use boost thread. I have created several threads like m_pReadThread / m_pProcessThread / m_pWriteThread m_pProcessThread = boost::shared_ptrboost::thread(new boost::thread(boost::bind(&CMFCDlg::ProcessThreadBoost, this))); in each thread, the thread function structure looks like: { init; while(run == true) { // set break point here ... } cleanup code; // set break point here } I set break point When I run my application, one of the thread only reach the first break point once. The second break point never reached. What might be the problem? Since the code is part of a big project. I can not put code here. -- View this message in context: http://boost.2283326.n4.nabble.com/Thread-function-only-called-one-time-why-... Sent from the Boost - Users mailing list archive at Nabble.com.