Вопросы по теме '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 просмотров
schedule
16.03.2024
нет именованного типа в классе 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 просмотров
schedule
06.03.2024
Вызов 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