Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указатель на функцию https://www.cyberforum.ru/ cpp-beginners/ thread2498779.html
Определить дополнительные функции для сортировки по следующим критериям: - по возрастанию; - по убыванию; - четные значения в начале массива, нечетные в конце. Вот код, как сделать указатель...
C++ Построение кучи
Задан массив строк, требуется построить из него кучу, используя стандартное сравнение (лексикографическое). Надо вывести перестановку: i-ый элемент равен позиции в куче i-ой строки. Входные...
C++ Почему никакая программа (dev-c++,visual studio 2008) не работает?
Началось все с ошибки в studio, я пытался сделать первоочереднейшую вещь в учении программированию - написать 'hello world!' вот мой код : #include <iostream> #include <cstdlib> using...
C++ Заполнить вектор из диапазона значений другого вектора. STL Доброго вечера. не по теме: Хотел на строчку выше попасть как в студии - оформил тему) В общем, есть вектор который заполняется до topValue. Создается еще один вектор, который нужно заполнить... https://www.cyberforum.ru/ cpp-beginners/ thread2498741.html
C++ Ввести множество элементов https://www.cyberforum.ru/ cpp-beginners/ thread2498740.html
Здравствуйте. Необходимо написать программу, в которой можно ввести множество, состоящее из чисел, строк, символов и других объектов. В этом множестве нужно найти повторяющиеся символы (если такие...
найдите ошибку в программе с функцией (пожалуйста) C++
Всем привет, я в отчаянии. Немного изучала С++, но во всех онлайн-уроках на начальном этапе даются совершенно другие вещи. В вузе ни с того ни с сего выдают это и как итог я не понимаю половину...
Защита от некорректного ввода C++
Здравствуйте. 1 курс, полный нуб. Знаю только cin и cout, массивы. Пока все было нормально, но препод требует написать защиту от дурака, чтобы если вводились только целые числа, а в других случаях...
C++ Определить является ли строка полиграммой Здравствуйте. Помогите пожалуйста из заданием. Вот условие задачи: Вам задана строка, состоящая из латинских букв. Строка называется полиграммой, если она содержит каждую из 12 латинских букв... https://www.cyberforum.ru/ cpp-beginners/ thread2498702.html
C++ Создание двух процессов https://www.cyberforum.ru/ cpp-beginners/ thread2498700.html
// Нужно создать два процесса(родительский и дочерний). Родительский есть, понятия не имею как сделать дочерний /* Все задание: Процесс Parent: 1. Создаёт бинарный файл, записи которого имеют...
C++ Разделение массива, знаки разделения которого это 0 Я в коде ищу айди элемента с 0, но что если у меня несколько 0, то он выбирает последний и делит соответственно до последнего, я тугодум, помогите пожалуйста что сделать если несколько 0 разделить... https://www.cyberforum.ru/ cpp-beginners/ thread2498686.html
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 55
0

Boost::thread std::thread

10.09.2019, 23:40. Просмотров 1092. Ответов 3
Метки (Все метки)

чем отличается boost::thread( ) от std::thread (с++17)?
я спрашиваю не о способе реализации потоков в целом, а конкретно о этих функциях.
Имеется код (не мой), который я использую в своем проекте, где создается поток с помощью бустов (в качестве аргумента передается ссылка на объект (или экземпляр, не знаю как правильно) класса
C++
1
boost::thread Thread( boost::ref( *MyClassName ) );
данный поток создается в отдельной функции, которая завершается раньше чем поток успеет выполнится, и все работает как нужно (поток выполняется параллельно с выполнением последующего кода)
но стоит мне использовать std::thread вместо boost
C++
1
std::thread Thread( std::ref( *MyClassName ) );
то программа падает на выполнении функции, в которой кроме создания данного потока ничего не происходит. такое ощущение что память выделенная под этот поток как бы стирается при завершении этой функции, если я подожду завершения потока
C++
1
2
std::thread Thread( std::ref( *MyClassName ) );
Thread.join( );
- то все проходит гладко, но следующий код программы в основном цикле не начнет выполнятся, пока не завершится поток, что лишает смысла использования потока.
вопрос в следующем: почему так происходит?

Вернуться к обсуждению:
Boost::thread std::thread
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2019, 23:40
Готовые ответы и решения:

Boost::thread vs std::thread
Доброго времени суток, решил углубить свои знания, и решил почитать про потоки, бустовые и те что в...

Ошибка компиляции "no instance of constructor 'std::thread::thread' matches the argument list"
Не могу сообразить почему возникает ошибка. У меня в классе есть метод, который должен работать в...

Использование std::function в std::thread
Нужно вызвать function fnc в новом потоке. Как сделать? function &lt;void(vector&lt;char&gt;)&gt; fnc; void...

std::thread
Возник вопрос: как создать массив потоков (точнее, как его инициализировать). То есть, мне нужно...

3
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.