Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
razor_ua
11 / 11 / 0
Регистрация: 20.05.2011
Сообщений: 71
#1

Создать разное количество потоков с возможностью ожидания события из одного потока в другом - C++

16.07.2014, 11:37. Просмотров 350. Ответов 6
Метки нет (Все метки)

Добрый день.

Прошу подсказки в выборе высокоуровневых средств для работы с потоками.
Мне нужно создавать разное количество потоков и что бы была возможность ожидания собитыя из одного потока в другом.

Сделал это средствами WinApi - виндовый тред и событие.

Подскажите, плз, куда копать в этом направлении, только не WinApi, а что-то более высокоуровневое.

Я смотрел на boost::thread - создавать работать с потоками удобно, а как быть с ожиданием? есть что-то в бусте, на подобии виндового event' a ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2014, 11:37
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Создать разное количество потоков с возможностью ожидания события из одного потока в другом (C++):

Разное количество итераций циклов, где верхняя граница одного - int, второго - char - C++
Помогите, пожалуйста. Почему такой цикл выполняется 12 раз? int w; for (int i=0; w;i++)А такой 20 раз: char w; for (int i=0;...

Почему если делегат события определен в другом классе, то не получается создать генерацию события? - C#
В проекте №1 объявлен делегат для события: delegate void StateEventHandler(State state); А в своем проекте №2 я в классе создаю событие...

Выполнение кода из одного потока в другом потоке - C++ WinAPI
Существует ли в C++ какой-нибудь механизм для выполнения куска кода из одного потока в контексте другого (уже запущенного) потока?

Потоки. Как из одного потока вызвать выполнение метода в другом потоке - Java SE
Необходимо 50 раз в секунду выполнять методы в двух параллельно работающих потоках синхронизировано. Для этого я создал третий поток -...

Как из одного потока вызвать метод таким образом, чтобы он выполнялся в другом потоке - Программирование Android
Значит имеется некая активность, которая запускает сервер по нажатии кнопки, этот сервер в свою очередь запускает выполнение своей фоновой...

Наследование и события: чтобы при нажатии кнопки одного класса менялся текст в другом - C#
Здравствуйте! Есть 2 класса, унаследованных от GroupBox: 1) На первом присутствует Button: class SimpleButton : GroupBox { ...

6
Ilot
Эксперт С++
1826 / 1184 / 232
Регистрация: 16.05.2013
Сообщений: 3,119
Записей в блоге: 5
Завершенные тесты: 1
16.07.2014, 11:42 #2
Зачем вам буст если это уже есть в стандартной библиотеке и кстати имеется хорошая литература.
Э. Уильямс Параллельное программирование на С++ в действии.
0
assvard
2 / 2 / 0
Регистрация: 31.08.2013
Сообщений: 20
16.07.2014, 11:48 #3
Ну если под Windows, то попробуй C++/CLI. А конкретно в System::Threading посмотри. Высокоуровнево и многофункционально. К тому же в учебниках неплохо расписано, правда по C#, но там не велика разница
0
razor_ua
11 / 11 / 0
Регистрация: 20.05.2011
Сообщений: 71
16.07.2014, 11:56  [ТС] #4
Спасибо, да нужно под винду и С++.

Как я понимаю, то в std эти возможности появились с С++ 11 ?
если да, то я не могу это использовать и tr1 тоже... (ограничения по проекту).

Все же, не подскажете, какой аналог виндового eventa(какой-то минимальный флажок) есть в boost ?
0
ForEveR
В астрале
Эксперт С++
7992 / 4751 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
16.07.2014, 12:20 #5
razor_ua, Ну, condition_variable не поможет разве?
1
razor_ua
11 / 11 / 0
Регистрация: 20.05.2011
Сообщений: 71
16.07.2014, 12:29  [ТС] #6
да, только что нашел его. спасибо
0
Voivoid
677 / 280 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
16.07.2014, 14:03 #7
Microsoft Parallel Patterns Library
0
16.07.2014, 14:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2014, 14:03
Привет! Вот еще темы с ответами:

Dbms_parallel execute: количество потоков постепенно снижается до одного - Oracle
Есть процедур proc1 вызываемая в pl/sql блоке begin proc1(:start_id, :end_id); end; Проблема заключаеться в том что вот это всё...

Как создать многопоточность из одного асинхронного потока? - C#
есть данная процедура: private async void button2_Click(object sender, EventArgs e) { foreach (var item in...

Как из потока управлять формой, если функции потока находятся в другом классе? - C#
Добрый вечер. Возник такой вопрос, никак не могу разобраться. Как из потока управлять формой, если функции потока находятся в другом...

Создать нужное количество потоков программно - C#
Конкретнее, можно ли сократить код, создав цикл или какие либо еще итерации с указанием нужного количества потоков (сейчас их 8)? С...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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