Я создал ряд функций, которые говорят с Libcurl Multi и загружают файлы асинхронно через ASIO и Boost.C++ Non-Blocking ASIO Run
Очевидно, что, когда я вызываю io_service.run, он блокирует мой основной поток при его запуске. Я попытался сделать это не блокирующим, но мое приложение выйдет из строя.
Мне было интересно, что является самым простым и лучшим подходом к выполнению этого в фоновом режиме, в неблокирующем режиме и вызвать вызов функции обратного вызова, когда это будет сделано (например, как вы можете это сделать в javascript) ,
Так что я мог бы просто пойти:
Runthisinthebackground(thingtodo, callback);
Было бы запустить thingtodo и возвращает результат обратного вызова. Одна вещь, хотя это должно использовать библиотеки, такие как импульс, который может работать на устройствах с из C++ 11, как сво для мобильных приложений, работающих на Android и прошивкой
FWIW, iOS и Android toolchains поддержка C++ 11. –
О, я не знал этого :) Спасибо за головы :), что делает вещи намного проще :) –