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

std :: thread, вызывающий прерывание работы приложения с ошибкой R6010
У меня есть класс с именем Task, который внутри содержит член std :: thread. Общая идея состоит в том, чтобы создать поток, который остается активным при поступлении запросов на обработку. class Task { public: Task(); ~Task(); void...
5692 просмотров
schedule 27.10.2021

std :: thread, который не является глобальной переменной, но не выходит за пределы области действия, когда достигается конец функции, которая его создала?
Итак, я наткнулся на кое-что, что, кажется, противоречит цели std::thread или, по крайней мере, делает его менее удобным. Скажем, я хочу создать std::thread для однократного выполнения задачи и больше не хочу об этом беспокоиться после этого....
359 просмотров
schedule 12.11.2021

Как установить собственное имя этой темы?
Я хочу установить имя текущего потока выполнения в коде C ++; базовая библиотека потоков - pthreads. Если у меня есть дескриптор потока std :: thread, я могу получить собственный дескриптор pthreads, используя std::thread::native_handle , а затем...
1299 просмотров
schedule 24.11.2021

С++ 11: запустить поток с функцией-членом, а это как параметр
Используя этот код, я получил и ошибку: Ошибка 1 ошибка C2064: термин не соответствует функции, принимающей 1 аргумент c:\program files (x86)\microsoft visual studio 11.0\vc\include\functional 1152 1 Pipeline class PipelineJob { private:...
24987 просмотров
schedule 18.02.2022

Почему конструктор перемещения вызывается дважды при передаче временных функций функции потока?
В приведенном ниже коде я не мог понять, почему конструктор перемещения класса вызывается дважды, учитывая, что моя функция потока принимает аргумент по ссылке rvalue, и поэтому я надеялся, что конструктор перемещения будет вызываться только один раз,...
172 просмотров

C++ Разблокировка std::mutex перед вызовом std::unique_lock wait
У меня есть многопоточное приложение (использующее std::thread) с менеджером (деревом классов), который параллельно выполняет некоторый фрагмент кода в разных поддеревьях (встроенная структура SubTree). Основная идея заключается в том, что у каждого...
2251 просмотров
schedule 24.03.2022

Как написать лямбда-функцию с аргументами? С++
Я хочу вызвать метод (для этого примера конструктор std::thread) с лямбда-функцией, передав значение int: int a=10; std::thread _testThread = thread([a](int _a){ //do stuff using a or _a ? }); _testThread.detach(); Я не знаю, как правильно...
12203 просмотров

Выполнение функции-члена класса
Я пытаюсь поэкспериментировать с потоками С++ 11 таким образом, чтобы он принимал функцию-член класса в качестве параметра в конструкторе потока, как показано в первом фрагменте кода ниже в строке 20, отмеченной . Определение класса дано во втором...
952 просмотров
schedule 04.04.2022

Распараллелить цикл, используя std::thread и передовой опыт
Возможный дубликат: C++ 2011: std::thread: простой пример распараллеливания цикла? Рассмотрим следующую программу, распределяющую вычисления по элементам вектора (раньше я никогда не использовал std::thread): // vectorop.cpp //...
4226 просмотров
schedule 24.04.2022

Каковы варианты использования и полезность при передаче указателя на член данных в std :: invoke?
Я читал о std :: invoke по ссылке cpp и мне было интересно в каких ситуациях нам когда-либо понадобится передать в качестве первого аргумента указатель на член данных и объект в качестве второго аргумента. Из ссылки cpp он заявляет следующее:...
97 просмотров
schedule 22.04.2022

Как выполнить или запустить команду оболочки в std::thread или pthread?
Один из прикладных процессов в ОС на базе FreeBSD, над которой я работаю, является многопоточным. Поскольку system() и popen() разветвляют новый процесс , не рекомендуется вызывать их из потока, работающего с критическими секциями и мьютексами....
538 просмотров
schedule 29.04.2022

Порядок вывода в консоль замедляет работу многопоточной программы
При компиляции следующего кода #include <iostream> #include <vector> #include <thread> #include <chrono> #include <mutex> std::mutex cout_mut; void task() { for(int i=0; i<10; i++) { double...
248 просмотров
schedule 10.06.2022

Подход к использованию std::atomic по сравнению с std::condition_variable относительно приостановки и возобновления std::thread в C++
Это отдельный вопрос, но связанный с предыдущим вопросом, который я задал здесь Я использую std::thread в своем коде C++ для постоянного опроса некоторых данных и добавления их в буфер. Я использую C++ lambda для запуска потока следующим...
1041 просмотров
schedule 27.06.2022

Конструктор std::thread создает ошибку компилятора MSVC C2661 через конструктор std::tuple
Я следил за выступлением на YouTube Кельвина Хенни, основанного на идиоме функционального С++... Примерно через 50 минут видео он начинает показывать пример структуры класса, которую он назвал channel . Затем он пишет простую функцию fizzbuzz и...
102 просмотров

std::this_thread::sleep_for — переключение контекста на этот поток?
Если я вызову свою основную функцию std::this_thread::sleep_for(std::chrono::seconds(1)) и создам 2 потока (используя std::thread ), и у меня будет 1 ядро ​​процессора. Есть ли в это время какое-либо переключение контекста на основной поток?...
426 просмотров
schedule 11.07.2022

Отдельный поток С++: завершение вызова без активного исключения
Я создаю систему пула потоков на С++ и получаю странное исключение при уничтожении всех моих потоков. Вот что происходит: terminate called without an active exception Это код для моего рабочего класса: Queue<Job> Worker::job_queue =...
65 просмотров
schedule 30.07.2022

Почему преобразование параметров для std::thread выполняется в созданном потоке, а не в родительском?
Недавно я узнал об этом неудачном поведении std::thread. void func(std::string param); void evil() { char buff[4096]; sprintf(buff,"%i",rand()); std::thread t(func, buff); t.detach(); } (проблема здесь в том,...
60 просмотров
schedule 15.09.2022

конструктор std::thread без параметров
Согласно cppreference.com , конструктор std::thread без параметров означает: Создает новый объект потока, который не представляет поток. Мои вопросы: Зачем нам нужен этот конструктор? И если мы создадим thread с помощью этого...
5725 просмотров
schedule 10.09.2022

Почему std::condition_variable как член класса вызывает ошибки компиляции с std::thread?
Я попытался включить std::condition_variable в качестве члена класса и получил много ошибок компиляции при передаче объекта этого класса в std::thread . Я вырезал весь остальной код из моей реальной программы и в итоге получил приведенный ниже...
1385 просмотров

создавать потоковые функции класса с аргументами внутри класса
У меня есть объект класса AI , который имеет приватную нестатическую функцию void с множеством аргументов: minmax(double& val,double alpha, double beta, unsigned short depth, board* thisTurn) ; поскольку это очень трудоемкая функция, я хочу...
91 просмотров
schedule 29.09.2022