Вопросы по теме 'stdthread'

Массивная загрузка ЦП с использованием std::lock (С++ 11)
Мои недавние попытки реализовать диспетчер потоков/мьютексов закончились 75%-й загрузкой ЦП (4 ядра), в то время как все четыре запущенных потока либо находились в спящем режиме, либо ожидали разблокировки мьютекса. Конкретный класс слишком велик...
8953 просмотров
schedule 30.03.2024

std::thread завершается до того, как я могу его отсоединить
Если я создам std::thread, который завершится до того, как я смогу вызвать для него detatch() , каково ожидаемое поведение? Следует ли генерировать исключение из-за того, что joinable уже является ложным? Если это так, то есть ли способ создать...
898 просмотров
schedule 29.03.2024

Проблема с std::thread из С++ 11
У меня возникли проблемы с попыткой скомпилировать программу с многопоточностью из стандартной библиотеки шаблонов. Он возвращает мне неясную ошибку, когда я пытаюсь скомпилировать следующую программу: #include <iostream> #include...
3595 просмотров
schedule 14.06.2024

Доступ к перемещенному std::string в новом потоке
Рассмотрим случай ниже Строка имени перемещается в качестве аргумента в поток. void start(std::string&& name) { t = std::thread{&ThreadRunner::run, this, std::forward<std::string>(name)}; } Функция запуска...
469 просмотров
schedule 23.04.2024

Использование С++ 11 std::async внутри абстрактного базового класса
Почему подобные потоки не работают внутри абстрактного базового класса? Я пытаюсь абстрагироваться от всех деталей многопоточности для пользователей, производных от этого базового класса. Я не понимаю, почему он говорит «нет типа с именем« тип »»,...
64 просмотров

нет именованного типа в классе std::result
Во-первых: я прочитал связанные вопросы и решения, которые не исправили ошибку. учитывая: double foo(cv::InputArray Input1, cv::InputArray Input2, cv::InputOutputArray InOut, cv::TermCriteria...
1029 просмотров
schedule 31.10.2022

Как позволить std::thread автоматически удалять объект после выполнения его функции-члена
Я хочу реализовать класс cmmand , который выполняет некоторую работу в другом потоке, и я не хочу, чтобы пользователи удаляли этот объект вручную. Мой класс command выглядит следующим образом: class Cmd { public: void excute() {...
175 просмотров
schedule 20.03.2024

0 как тайм-аут в std::condition_variable::wait_for
Например, у меня есть следующий код: void waitForResponse(const std::optional<int64_t>& ms){ std::unique_lock lk{_mtx}; _cv.wait_for(lk, std::chrono::milliseconds{ms ? *ms : 0}, []() { return someCondition; }...
565 просмотров

Вызов detach() в конце потока
У меня есть рабочий поток, похожий на следующий код. В begin_work он проверяет, выполняется ли рабочий поток перед созданием нового рабочего потока. Однако begin_work никогда не создаст следующий рабочий поток при выходе из текущего потока, пока...
91 просмотров
schedule 15.05.2024

std::this_thread::sleep_for() против sleep() в main()
std::this_thread::sleep_for() или usleep() Что лучше использовать в main()? Это может быть очень глупо, но я новичок в функциях С++ 11.
115 просмотров
schedule 18.02.2024