Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
49 / 23 / 3
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5

std threading library взамен boost threading library

06.07.2013, 22:40. Показов 1622. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
изучаю распараллеливание на примере "примера" с http://www.linux.org.ru/forum/development/4152264 ,
но там с использованием boost. Так вот хотел было начать задавать умные вопросы, НО! :
std::thread_group is not member of std и приехали, ступор. на что мне заменить std::thread_group
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <thread>
#include <mutex>
#include <vector>
int a(int x)
{return x*x;}
int next_i(int n, int & i, std::mutex & m)
{   std::unique_lock<std::mutex> lock(m);
    if(i >= n)  return -1;
    return i++;
}
void worker(std::vector<double> & mass_a, std::function<int()> f)
{   for(;;)
    {   int cur_i = f();
        if(cur_i < 0)
            break;
        mass_a[cur_i] = a(cur_i);
    }
}
int main()
{   int i = 0;
    std::mutex m;
    std::vector<double> mass_a;
    mass_a.resize(1000);
    std::function<int()> f = std::bind(&next_i, mass_a.size(), std::ref(i), std::ref(m));
    std::thread_group threads;
    for (int i=0; i<std::thread::hardware_concurrency(); ++i)
        threads.create_thread(std::bind(&worker, std::ref(mass_a), f));
    threads.join_all();
    return 0;
}
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.07.2013, 22:40
Ответы с готовыми решениями:

Компиляция boost library
Здравствуйте! Подскажите пожайлуста, как нужно компилировать boost, чтобы были скомпилированы все библиотеки. Если компилировать как в...

STD Periph library для STM32
Кто нибудь работал с данной либой?

Помогите начинающему KEIL5+std peripheral library
Доброго времения суток. Долгое время пытался подружится с STM32 после AVR и вот дошли руки и имеем первые грабли. Суть проблемы такова....

7
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
06.07.2013, 22:42
std::vector<std::thread> vec;
0
49 / 23 / 3
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
06.07.2013, 22:56  [ТС]
Цитата Сообщение от Jupiter Посмотреть сообщение
std::vector<std::thread> vec;
но vec.create_thread я не могу тогда поставить, это неправильно
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
06.07.2013, 23:00

Не по теме:

Цитата Сообщение от soican Посмотреть сообщение
но vec.create_thread я не могу тогда поставить, это неправильно
да ладно, не может быть:D


vec.push_back(std::thread(...));
0
What a waste!
 Аватар для gray_fox
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
06.07.2013, 23:03
Цитата Сообщение от soican Посмотреть сообщение
но vec.create_thread я не могу тогда поставить
emplace_back
0
49 / 23 / 3
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
06.07.2013, 23:20  [ТС]
Цитата Сообщение от Jupiter Посмотреть сообщение
да ладно, не может быть

А что прикажете с vec.join_all делать?
0
What a waste!
 Аватар для gray_fox
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
06.07.2013, 23:25
Цитата Сообщение от soican Посмотреть сообщение
А что прикажете с vec.join_all делать?
join в цикле, нет?
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
06.07.2013, 23:28
Лучший ответ Сообщение было отмечено как решение

Решение

о боги, так трудно включить моск, погуглить, посмотреть исходники в конце концов

C++
1
2
3
4
5
6
7
8
9
void thread_group::join_all()
{
    mutex::scoped_lock scoped_lock(m_mutex);
    for (std::list<thread*>::iterator it = m_threads.begin();
         it != m_threads.end(); ++it)
    {
        (*it)->join();
    }
}
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.07.2013, 23:28
Помогаю со студенческими работами здесь

Threading и selenium
Приветствую форумчан, никак не могу понять, в чем проблема. Собственно, вот мой код: import threading from queue import Queue from...

hyper-threading и виртуализация
Выбираю между 2-мя процами i5 &amp; i7 по большому счету разница в них в наличии у последнего hyper-threading-а. В цене разница почти в 2...

Agent Multi-threading
Доброго времени суток. Подскажите плз где надо &quot;enable&quot; многопоточность для агентов? В мануале написано что это надо сделать но как и где...

Urllib2, threading и производительность
Есть элементарная функция, грабящая содержимое вэб-стрниц на основе юрллиб2: def grab_thread(urllist): while...

Перевести код в Threading
Привет есть код,помогите сделать его через потоки(Threading) class Program { static void Main(string args) ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
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 на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru