|
93 / 66 / 27
Регистрация: 11.12.2013
Сообщений: 309
|
|||||||||||
Boost thread17.01.2015, 19:18. Показов 5371. Ответов 21
Метки нет (Все метки)
Здравствуйте!
Помогите разобраться пожалуйста. Задача будет заключаться в том чтобы, создать поток и передать туда функцию и параметр, после чего метод должен выполниться и поток должен уснуть. А программа дальше работать и создавать следующие потоки. Есть метод который будет создавать поток. И передавать туда метод с параметром.
Не могли бы вы подсказать как исправить её пожалуйста.
0
|
|||||||||||
| 17.01.2015, 19:18 | |
|
Ответы с готовыми решениями:
21
boost::thread queue boost thread boost::thread() проблема с потоками. |
|
93 / 66 / 27
Регистрация: 11.12.2013
Сообщений: 309
|
|
| 17.01.2015, 20:29 [ТС] | |
|
просто для практики, хочется научиться большему.
0
|
|
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
| 18.01.2015, 10:37 | |
|
Ошибка номер один: на вызов передаётся метод без объекта. Обычному методу нужен объект, к которому он применим, статический метод вызывается как обычная функция.
Ошибка номер два: несовпадение типов (принимается копия filesystem:: path, а передаётся адрес).
1
|
|
|
93 / 66 / 27
Регистрация: 11.12.2013
Сообщений: 309
|
|
| 18.01.2015, 21:19 [ТС] | |
|
Спасибо большое, разобрался.
Осталось только один вопрос. Допустим, я создал поток и запустил его, и после чего усыпил его. Как мне сделать чтобы программа продолжала работу пока поток спит, а не дожидаться того, пока поток проснётся и завершиться целиком.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 19.01.2015, 10:28 | |
|
sogooo, Использовать detach на потоке, а не join. При этом, нужно быть уверенным, что родительский поток не завершится до завершения дочернего.
0
|
|
|
2 / 2 / 0
Регистрация: 23.06.2014
Сообщений: 23
|
||||||
| 17.02.2015, 10:37 | ||||||
|
Всем привет! Подскажите новичку, не могу понять данный код:
0
|
||||||
|
|
|
| 17.02.2015, 12:27 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 23.06.2014
Сообщений: 23
|
||||||
| 19.02.2015, 11:44 | ||||||
|
О спасибо разобрался! Теперь такой вопрос, почему если я добавляю в функтор статические член, то сразу вылезает ошибка:
[ILINK32 Error] Error: Unresolved external 'count::num' referenced from C:\USERS\TK14031\DOCUMENTS\RAD STUDIO\PROJECTS\TMP\DEBUG\FILE1.OBJ код следующий
0
|
||||||
|
2 / 2 / 0
Регистрация: 23.06.2014
Сообщений: 23
|
||
| 19.02.2015, 15:46 | ||
|
Я инициализировал в конструкторе, толку было мало (
Добавлено через 1 минуту
0
|
||
|
|
|
| 19.02.2015, 16:59 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 23.06.2014
Сообщений: 23
|
|||||||||||
| 20.02.2015, 11:04 | |||||||||||
|
Еще одно спасибо! =)
Теперь другой вопрос, вынес все в отдельный модуль, и хочу в классе объявить мутекс, но почему - то вылетает ошибко, в чем причина?
вызваю в майне так:
0
|
|||||||||||
|
2 / 2 / 0
Регистрация: 23.06.2014
Сообщений: 23
|
||
| 20.02.2015, 13:32 | ||
|
0
|
||
|
2 / 2 / 0
Регистрация: 23.06.2014
Сообщений: 23
|
||
| 20.02.2015, 13:49 | ||
|
Все равно не понял...
0
|
||
|
8 / 8 / 1
Регистрация: 06.09.2014
Сообщений: 52
|
|
| 07.07.2016, 09:13 | |
|
Добрый день всем (и в частности Avazatr-у)!
Пишу в XE2, boost там 1.39.0 Не вдаваясь в детали, прошу у вас такой-же ответ на вопрос: "Как из boost::thread выводить сообщения (визуальные) о состоянии выполнения функции не используя родной метод Synchronize() без конфликта с main GUI thread в доступе к VCL?" Всего от функции в thread-е требуется знать процент выполненной работы (ProgressBar) а также значение строковой переменной, куда заносится информация о текущем выполнении (ShowMessage). Я пробовал: 1) создать таймер и рас в, скажем, 100 мс (время может подстраиваться) опрашивать локальные переменные thread-а (int и UnicodeString). При этом обращения к ним в самом thread-e (это приращение и присваивание) были не атомарными. Это работало только для ProgressBar->Position, т.е. для int. 2) создать/хукнуть обработчик событий "WM_USER +..." и посылать из потока PostMessage() эти сообщения GUI thread-у (в сообщении всё инкапсулировалось). Работает, но тормоза возникают при длительной работе (2 мин. например), хотя я эти сообщения после обработки и CancelDispatch-ил и WM_NULL-ил и т.д. Можно ли вообще это сделать?
0
|
|
|
|
|||
| 07.07.2016, 12:03 | |||
|
Не можно использовать WinApi конечно, но опять же смысл, если есть средства VCL. Добавлено через 2 минуты Что мешает использовать родной TThread + TIdNotify ?
1
|
|||
| 07.07.2016, 12:03 | |
|
Помогаю со студенческими работами здесь
20
Исключения в потоке Boost::thread Не линкуется проект с boost::thread boost::thread синхронизация с VCL boost::thread не может найти библиотеку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|