我有一個程序使用此代碼:更換的boost ::互斥
mutable boost::condition_variable cvRun;
void CAteEngineInternal::RunSync()
{
boost::mutex m;
boost::unique_lock<boost::mutex> lock(m);
Run();
//wait for run to complete
cvRun.wait(lock);
}
int CAteEngineInternal::RunXSync(int FramesToRun)
{
boost::mutex m;
boost::unique_lock<boost::mutex> lock(m);
int retVal = RunX(FramesToRun);
//wait for run to complete
cvRun.wait(lock);
return retVal;
}
void CAteEngineInternal::OnRunCompleted(int /* status */)
{
cvRun.notify_all();
}
我和CLI工作,我發現了以下錯誤:
basic_timed_mutex.hpp(216):致命錯誤C1001 :編譯器發生內部錯誤
我想替換這個boost :: mutex代碼,並找到一種方法來克服這個編譯器錯誤。我在VS2010上使用VS2012和C++上的C#開始使用。 CLI也在VS2010上。
有什麼建議使用什麼?我需要它是跨平臺的,並且能夠在VS2010中進行編譯。
STL沒有併發編程庫。 C++標準庫在C++ 11之前都沒有。 – juanchopanza 2013-02-26 12:29:59
您使用的是最新版本的Boost? – 2013-02-26 12:38:22
你正在使用哪種版本的boost? – 2013-02-26 12:39:54