Описание тега stdthread
NoneStd::thread is a C++11 standard library type which runs a function a new thread
3
ответа
Как запустить несколько потоков, и каждый поток работает с разными файлами?
У меня есть однопоточное приложение, которое отправляет файл на другой сервер, вызывая send_new_file void send_new_file_command::start_sending_file() { m_thread = thread(&send_new_file_command::execute_file, this); } void send_new_file_command::…
20 май '15 в 21:03
1
ответ
Распараллелить цикл, используя std::thread и передовой опыт
Возможный дубликат: C++ 2011: std:: thread: простой пример распараллеливания цикла? Рассмотрим следующую программу, которая распределяет вычисления по элементам вектора (я никогда раньше не использовал std:: thread): // vectorop.cpp // compilation: …
26 дек '12 в 16:48
3
ответа
Если у меня есть код Pthread в Linux, есть ли преимущество для реализации того же кода в std::thread?
Я занимаюсь небольшим университетским проектом, в котором я применяю различные многопоточные подходы к алгоритмам сопоставления с образцом (pthread, omp) и сравниваю их с соответствующими последовательными реализациями. На данный момент это работает…
06 окт '13 в 13:10
1
ответ
Невозможно вызвать указатель на член при передаче аргументов внутри лямбды
Я пытаюсь создать оболочку для std::thread, которая позволяет мне видеть, какие исключения были сгенерированы в вызываемых потоках. Я распространяю их, когда поток присоединяется. Это прекрасно работает при вызове функции с аргументами или функции-ч…
09 мар '18 в 01:09
2
ответа
Безопасно ли передавать константную ссылку на временную / анонимную лямбду в конструктор std::thread?
Исходя из этого вопроса: может ли темпераментная лямбда проходить мимо по ссылке? У меня есть фиксированный фрагмент кода: // global variable std::thread worker_thread; // Template function template <typename Functor> void start_work(const Fun…
23 апр '18 в 14:00
1
ответ
Копировать вызовы конструктора при создании нового потока
Я читаю книгу C++ Concurrency in Action, чтобы узнать больше о многопоточности и модуле памяти C++. Мне любопытно, сколько раз вызывается конструктор копирования в следующем коде: struct func { func() = default; func(const func& _f) {} void oper…
02 янв '14 в 15:49
3
ответа
Поток std::thread запускается в объекте, когда он завершается?
Если я раскручиваю std::thread в конструкторе Bar когда он перестает работать? Гарантируется ли остановка, когда Bar экземпляр разрушен? class Bar { public: Bar() : thread(&Bar:foo, this) { } ... void foo() { while (true) {//do stuff//} } privat…
19 окт '16 в 17:43
3
ответа
Полезно ли вызывать pthread_sigmask в потоке, созданном std::thread?
1) Я новичок в std::thread, и я хотел бы знать, является ли это хорошей практикой для вызова pthread_sigmask() блокировать некоторые сигналы в определенном потоке, созданном std::thread, Я не хочу, чтобы новый поток получал такие сигналы, как SIGTER…
25 фев '19 в 16:54
1
ответ
Получение результатов из потока
Я использую следующий код для создания 10 потоков. Я ожидаю получить разные случайные числа из моих тем и распечатать их. но результаты одинаковы. #include "pch.h" #include <iostream> #include "C.h" #include "BB.h" #include <vector> #inc…
24 дек '18 в 16:21
2
ответа
Исключение не перехватывается, если возникает после порождения std::thread
Я озадачен странным поведением исключений, которые генерируются в главном потоке после порождения другого потока: void thread_body(){ while(true) cout << "in thread" << endl; } int main(int argc, char** argv) { try{ auto t = std::thread(…
20 авг '17 в 14:21
1
ответ
Оптимизировать Буддхаброт
В настоящее время я работаю над собственной реализацией "Буддхаброт". Пока я использую std::thread-Класс из C++11 для одновременной работы через следующую итерацию: void iterate(float *res){ //generate starting point std::default_random_engine gener…
17 дек '14 в 19:07
3
ответа
Неопределенная ссылка на `pthread_create'Ошибка при создании приложения C++11 с ASIO и std::thread
Я установил Eclipse (на самом деле Xilinx SDK, но основан на Eclipse) и g++4.9.2 для компиляции проекта, который использует автономный ASIO, и я использовал -std= C++11 в Свойствах -> C/C++ Build -> Настройки -> Настройки инструмента -> Другие флаги…
21 янв '16 в 19:52
0
ответов
Почему я не могу отправить аргументы как ссылку на функцию потока?
У меня есть следующий код: #include <iostream> #include <Windows.h> #include <thread> #include <string> void func(std::string& str) { std::string to_change("Bye..."); std::cout << "From func: " << str <<…
05 фев '17 в 16:45
1
ответ
Ошибка: нет подходящей функции для вызова std::thread
Я пытаюсь запустить функцию под названием dcp в потоке, я должен запустить эту функцию три раза независимо. Итак, вот как я это реализовал: void dcp(cv::Mat&, int, int, cv::Mat&, double); int main(int argc, char* argv[]) { cv::Mat IllumTrans…
13 май '18 в 14:53
1
ответ
Пример пула потоков C++11 с ошибкой
Ниже приведен код, демонстрирующий простую и короткую реализацию пула потоков. Код вдохновлен этим постом. Я собираю это с clang++ -std=c++11 threadpool.cpp -o threadpool -lpthread При исполнении я получил следующее: ./threadpool terminate called wi…
23 янв '17 в 18:47
2
ответа
Как часто mutex::lock() проверяет наличие разблокированного состояния, если оно уже заблокировано другим потоком?
Согласно cppreference, построение std::lock_guard с std::mutex параметр вызывает lock() метод этого mutex, Согласно cplusplus, относительно mutex"s lock() метод: Если мьютекс заблокирован другим потоком, выполнение вызывающего потока блокируется, по…
10 янв '14 в 01:33
1
ответ
Функция-член std::thread Должен ли этот класс получить доступ к полям класса?
Учитывая класс, такой как: class MyClass { private: vector<std::string> data; void threadWork(std::vector<std::string> *data_ptr) { // some thread work... e.g for(int i=0; i < data_ptr->size(); i++) { std::string next = (*data_ptr)…
01 июл '16 в 11:27
1
ответ
Состояние гонки или повреждение памяти в C++ std::thread
У меня проблемы с определением точного источника состояния гонки или повреждения памяти. Мои попытки решить проблему показаны после кода. У меня есть следующая структура: class A { protected: // various variables // 1. vector that is assigned value …
26 июн '17 в 22:52
1
ответ
Ошибка создания std::thread в Mac OS X с помощью clang: "попытка использовать удаленную функцию"
Рассмотрим мой тестовый код: #include <thread> class Foo { public: void threadFunc() {} void startThread() { _th = std::thread(&Foo::threadFunc, *this); } private: std::thread _th; }; int main(int argc, char *argv[]) { Foo f; f.startThread…
19 авг '13 в 07:56
2
ответа
Почему std::thread не имеет базовых возможностей?
В std::thread: Нет размера стека при создании потока. Нет приоритетов потоков. Зачем? Какая польза от такого API? Это самая основа концепции потока. Размер стека, почему мы не заботимся о памяти? Может быть, авторы предполагают только Linux и Window…
10 авг '18 в 10:14