Вопросы по теме 'boost-thread'

Пример повышения shared_mutex (несколько чтений / одна запись)?
У меня есть многопоточное приложение, которое должно часто читать некоторые данные, и иногда эти данные обновляются. Прямо сейчас мьютекс сохраняет доступ к этим данным безопасным, но это дорого, потому что я хотел бы, чтобы несколько потоков могли...
101914 просмотров
schedule 08.03.2022

Нечетный синтаксис объявления функции-члена C++: квалификатор &&
Из Boost ::Тема : template <typename R> class shared_future { ... // move support shared_future(shared_future && other); shared_future(unique_future<R> && other); shared_future& operator=(shared_future &&...
652 просмотров
schedule 30.05.2022

boost :: thread - как сделать плавное завершение работы?
Я пытаюсь улучшить переносимость приложения C ++, используя boost: thread вместо нашей собственной оболочки над потоками Win32, и проблема корректного завершения потока (снова) поднимает свою уродливую голову. В чистой win32 я «прерываю» потоки,...
1328 просмотров
schedule 07.05.2023

Проблемы с Boost::Python и Boost::Threads
Я и мой друг разрабатываем приложение, использующее Boost::Python. Я определил интерфейс на C++ (точнее, чистый виртуальный класс), доступный через Boost::Python пользователям, которые должны наследовать от него и создать класс, который приложение...
508 просмотров
schedule 27.05.2022

Как использовать lock_guard при возврате защищенных данных
У меня есть вопрос, касающийся использования boost::lock_guard (или аналогичных блокировок с ограниченной областью действия) и использования переменных, которые должны быть защищены блокировкой в ​​операторе return . Каков порядок уничтожения...
4231 просмотров

Лучшее понимание примера чат-клиента boost
прежде всего, код // // chat_client.cpp // ~~~~~~~~~~~~~~~ // // Copyright (c) 2003-2010 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file...
2508 просмотров

Что возвращает boost::condition_variable::timed_wait() при ложных пробуждениях?
Документация по boost говорит: Возвращает: false, если вызов возвращается из-за того, что было достигнуто время, указанное параметром abs_time, в противном случае — true. Но что возвращается, если происходит ложное пробуждение?
1737 просмотров
schedule 08.12.2022

оператор присваивания для классов с не копируемым boost::mutex
Я читаю здесь этот старый boost::mutex 30/libs/thread/doc/faq.html#question5" rel="nofollow">Часто задаваемые вопросы по теме Boost , где является руководством по реализации конструкции копирования и оператора присваивания для классов, имеющих в...
1588 просмотров
schedule 21.05.2023

Может ли многопоточность ускорить выделение памяти?
Я работаю с 8-ядерным процессором и использую потоки Boost для запуска большой программы. Логически программу можно разбить на группы, где каждая группа запускается потоком. Внутри каждой группы некоторые классы вызывают оператор «новый» всего 10000...
8643 просмотров

Прерывание boost :: thread при отключенных прерываниях
При использовании boost :: thread я столкнулся с этой проблемой прерывания. Когда я делаю boost :: thread_interrupt из потока A в потоке B, а в B отключены прерывания (boost :: this_thread :: disable_interrupts di), прерывание кажется потерянным. То...
1649 просмотров

Ожидается ли, что использование boost::thread_specific_ptr‹›::get() будет медленным? Любые обходные пути?
В настоящее время я профилирую приложение с проблемами производительности, используя «Callgrind» Valgrind. При просмотре данных профилирования выясняется, что около 25 % времени обработки тратится внутри boost::detail::get_tss_data в приложении,...
3111 просмотров
schedule 15.06.2023

Почему Intel TBB не предоставил условную переменную, такую ​​​​как повышение?
Подобно механизму условного сигнала, я хочу, чтобы одна задача ждала, пока не будет получен какой-то сигнал или какая-то переменная не станет истинной. Boost lib предоставляет этот механизм, а TBB — нет. Как реализовать этот случай в ТББ?
989 просмотров
schedule 17.06.2023

c++ boost::thread выполнить код в основном потоке?
Возможно ли после вызова boost::thread, выполняющего некоторые инструкции, вернуться к основному потоку? Мой код основан на шаблоне proactor, однако определенная функция может занять некоторое время, поэтому, чтобы не блокировать всю программу, я...
4358 просмотров
schedule 19.07.2023

Как одновременно запустить несколько потоков, созданных циклом, с помощью boost.thread?
Я изучаю основы boost.thread. Пока что я могу создавать каждый поток один за другим вручную, чтобы они могли работать одновременно. Однако при создании цикла он выполняется последовательно, а не параллельно. #include <iostream> #include...
19472 просмотров
schedule 02.04.2022

как обращаться с control-c на сервере boost tcp/udp
Как мне обработать событие control-C или остановить мой сервер boost::asio. У меня есть комбинированный сервер tcp и udp, и я хотел бы иметь возможность выйти, когда я нажимаю ctrl-c. Я получаю исключение первого шанса для необработанного...
4470 просмотров
schedule 06.04.2022

При использовании boost::thread::interrupt() вам *нужно* перехватывать исключение thread_interrupted?
У меня есть несколько длительных потоков ускорения, которые я хочу отключить, прервав их. Во всей документации, которую я могу найти, говорится, что вы можете перехватить исключение thread_interrupted , но на самом деле ничего не говорится о том,...
3209 просмотров
schedule 20.03.2022

увеличить thread_group с обратным вызовом
я хотел бы написать boost::thread_group. Предполагая, что я правильно понял, что такое обратный вызов в потоке, я хотел бы применить его и в своей программе. Я нашел следующий пример: ( thread_group без обратного вызова ) boost::thread_group...
592 просмотров
schedule 20.05.2022

Неправильное использование boost::asio и boost::thread
Я использую boost::asio и boost::thread для реализации службы сообщений, которая принимает сообщения и отправляет их асинхронно , если сообщения нет. обрабатывается или помещает в очередь сообщение, если оно обрабатывается. Скорость...
2537 просмотров
schedule 31.03.2024

Почему приложение не находит DLL «boost_thread-vc100-mt-1_46_1.dll»?
Вопрос: почему приложение не может найти DLL «boost_thread-vc100-mt-1_46_1.dll», когда DLL на самом деле правильно установлена, и другие приложения успешно используют DLL? Проблема: при запуске экземпляра моего приложения появляется следующее...
1854 просмотров

Intel TBB против Boost
В моем новом приложении у меня есть гибкость, чтобы решить, использовать ли библиотеку для многопоточности. До сих пор я использовал pthread. Теперь хочу изучить кроссплатформенную библиотеку. Я сосредотачиваюсь на TBB и Boost. Я не понял, в чем...
14763 просмотров
schedule 01.07.2022