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

таймаут в std::async
Есть ли способ реализовать тайм-аут в методе std::async, поэтому я хочу, чтобы этот вызов истекал и завершался, если поток не завершился в течение указанного времени. Как я могу реализовать эту функцию.
5966 просмотров
schedule 12.10.2022

вектор std :: thread
C ++ 11 Я пытаюсь сделать vector из std::thread . Комбинация следующих трех пунктов говорит о том, что я могу. 1.) Согласно http://en.cppreference.com/w/cpp/thread/thread/thread , конструктор thread по умолчанию создает объект...
19541 просмотров
schedule 22.02.2023

Передача по ссылке на std::thread c++0x в VS2012
void ThreadFn(int& i) { cout<<"Hi from thread "<<i<<endl; } int x = 0; void CreateThreads(vector<thread>& workers) { for(int i = 0; i< 10; i++) { workers.push_back(thread(&ThreadFn, x));...
177 просмотров
schedule 29.07.2023

С++ 11 std::threads и ожидание завершения потоков
У меня есть вектор объектов таймера. Каждый объект Timer запускает std::thread, который имитирует период роста. Я использую шаблон команды. Происходит то, что каждый таймер выполняется один за другим, но я действительно хочу, чтобы один из них...
4488 просмотров
schedule 30.10.2022

Как я могу объявить std::thread анонимно?
Рассмотрим следующую короткую программу: #include <thread> int Foo() { while (1); } int main(){ std::thread t(Foo); std::thread s(Foo); // (std::thread(Foo)); t.join(); } Это компилируется и запускается (навсегда), с...
3141 просмотров
schedule 12.06.2022

Блоки std::thread в синглтоне и .dll
Я много читал об этом, но пока не нашел решения. Моя проблема в том, что когда я пытаюсь это сделать, я теряю контроль. hiloEscucha = std::thread(&PlayerClientSingleton::Run, this); Я работаю с классом, реализующим одноэлементный шаблон...
981 просмотров

C++11: что произойдет, если вы не вызовете join() для std::thread
Нижеприведенный: void test() { std::chrono::seconds dura( 20 ); std::this_thread::sleep_for( dura ); } int main() { std::thread th1(test); std::chrono::seconds dura( 5 ); std::this_thread::sleep_for( dura ); return 0; } main...
16912 просмотров
schedule 08.04.2023

Запуск функции-члена в потоке с помощью конструктора класса
У меня есть класс, содержащий функцию-член, которую я хочу передать конструктору std::thread . #include <thread> #include <iostream> struct StatsClientImpl { std::thread t; size_t q_len; StatsClientImpl() : q_len(0)...
399 просмотров
schedule 18.08.2023

C++: Boost.Asio: запуск сеанса SSL-сервера в новом потоке
Я написал пару программ сервер/клиент на основе этот пример для сервера и я закончил со всеми коммуникационными протоколами. Сервер должен получать несколько подключений от нескольких подключений от нескольких клиентов, поэтому я хочу отделить...
1682 просмотров
schedule 04.07.2022

Отличия компилятора GCC-Visual Studio std::thread
РЕДАКТИРОВАТЬ: добавлены ошибки компилятора в конце. Сначала я скажу, что у меня установлены и работают как Visual Studio Express 2013, так и CodeBlocks (Mingw w64). Но у меня проблема с некоторым кодом, компилируемым одним компилятором, но не...
285 просмотров
schedule 22.10.2022

Как передать переменные аргументы в std :: thread?
Я хотел бы использовать свою собственную реализацию Thread, обернув класс std :: thread из C ++ 11, чтобы я мог обрабатывать исключения, как хочу. Вот мой класс обертывания: #include <Types.hpp> #include <thread> #include...
1607 просмотров

Отправка заданий в std::thread
Я новичок в std::thread, и я быстро понял, что их создание довольно дорого, по крайней мере, на моем компьютере с W7. Поэтому я решил создать свои потоки и отправлять в них задания, используя этот пример кода:...
63 просмотров
schedule 13.03.2023

Застревание пула потоков
Я создал пул потоков для распределения 100 вычислений между 4 потоками. Я не могу понять, почему следующий код зависает после 4 вычислений. После каждого вычисления поток должен быть освобожден, и я ожидаю, что .joinable() вернет false, поэтому...
130 просмотров

Является ли семейство функций *_at_thread_exit единственным неблокирующим способом дождаться завершения std::thread?
Я пишу серверное приложение, которое создает новый поток для каждого клиентского соединения. Я хочу убедиться, что все клиентские потоки завершились до завершения основного потока. Это связано с тем, что согласно ответам на вопрос ' Что...
156 просмотров
schedule 01.04.2023

безопасность и эффективность потоков c++: почему поток с проверкой мьютекса иногда работает быстрее, чем без него?
Я новичок в использовании потоков в С++. Я прочитал основы о std::thread и мьютексе, и, кажется, я понимаю цель использования мьютексов. Я решил проверить, действительно ли потоки так опасны без мьютексов (ну, я верю книгам, но предпочитаю увидеть...
142 просмотров

Форвардные типы в вариативном шаблоне как значения/ссылки в соответствии с сигнатурой функции
Этот вопрос относится к этому , это и потенциально это . У меня есть следующий класс, в котором метод AddFunction получает функцию и список аргументов этой функции, а затем порождает std::thread , вызывающий переданную функцию с переданными...
703 просмотров

std::thread предположительно приводит к непригодной трассировке стека
Вопрос связан с предполагаемым недостатком std::thread . Вчера я случайно просматривал популярный распределенный прокси с открытым исходным кодом envoy от Lyft. Когда я изучал их часть с потоками, я наткнулся на комментарий, который привлек мое...
231 просмотров
schedule 10.06.2024

Каково время жизни переменных-членов C++ при работе в std::thread?
#include <iostream> #include <string> #include <thread> using namespace std; struct safe_thread : public thread { using thread::thread; safe_thread& operator=(safe_thread&&) = default; ~safe_thread()...
132 просмотров
schedule 17.06.2023

Как изящно остановить/уничтожить поток с блокирующим вызовом при вызове деструктора С++?
В следующем классе рабочий поток запускается внутри конструктора. У рабочего есть блокирующий вызов очереди. Он работает, как и ожидалось, но когда объект AsyncQueue выходит за пределы области видимости (по какой-либо причине), вызывается его...
148 просмотров

предупреждающее сообщение при вызове функции-члена класса внутри другого как потока
У меня есть класс, содержащий несколько методов. Мое требование - вызвать одну из функций-членов внутри другой как поток. Class ApplicationManager { .... .... void method(); void test(std::string arg1, std::string& arg2); }; void...
112 просмотров
schedule 02.04.2022