Boost :: asio :: io_context прекращает выполнять новые задачиC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Boost :: asio :: io_context прекращает выполнять новые задачи

Сообщение Anonymous »

Я сталкиваюсь с проблемой с библиотекой boost.asio. Моя программа использует один экземпляр IO_Context и несколько рабочих потоков, которые называют io_context :: run (). Задачи размещаются с использованием SPAWN или POST на глобальном IO_CONTEXT или производной цепи, и обрабатываются рабочими потоками. В этот момент все рабочие потоки кажутся бездельничающими, ожидая новой работы, но никаких новых задач не выполняются или не принимаются. Следующий стек вызовов описывает их состояние: < /p>
+ 7794 thread_start (in libsystem_pthread.dylib) + 8 [0xptr]
+ 7794 _pthread_start (in libsystem_pthread.dylib) + 136 [0xptr]
+ 7794 boost::(anonymous namespace)::thread_proxy(void*) (in myprog1.dsym) + 188 + 3450312 [0xptr]
+ 7794 boost::detail::thread_data::run() (in myprog1.dsym) + 176 + 10518812 [0xptr]
+ 7794 boost::asio::io_context::run() (in myprog1.dsym) + 32 + 10147768 [0xptr]
+ 7794 boost::asio::detail::scheduler::run(boost::system::error_code&) (in myprog1.dsym) + 264 + 7744452 [0xptr]
+ 7794 boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) (in myprog1.dsym) + 304 + 7745104 [0xptr]
+ 7794 _pthread_cond_wait (in libsystem_pthread.dylib) + 984 [0xptr]
+ 7794 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0xptr]
< /code>
Излишне говорить, что задачи продолжают публиковать в IO_CONTEXT.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -new-tasks
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»