Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
if (GetCurrentThreadId() == m_clientThreadId)
{
callback();
return true;
}
else
{
m_callback = callback;
ResetEvent(m_deliveredEvent);class IEngineEvents
{
public:
virtual void OnProgress(int progress) = 0;
virtual bool OnError(int code) = 0;
};
IEngineEvents* listener; //указатель на объект, реализуемый GUI
syncChannel.Execute(boost::bind(&IEngineEvents::OnProgress, listener, 30));
Организация рабочих потоков: синхронизационный канал