Библиотеку для организации ThreadPool посоветуйте
От: SаNNy Россия  
Дата: 09.07.15 03:49
Оценка: +1
Под Windows. Желательно с поддержкой лямбд (С++1) и одним хедером. И чтобы компилировалась 13 студией...
Re: Библиотеку для организации ThreadPool посоветуйте
От: c-smile Канада http://terrainformatica.com
Дата: 09.07.15 05:43
Оценка:
Здравствуйте, SаNNy, Вы писали:

SNN>Под Windows. Желательно с поддержкой лямбд (С++1) и одним хедером. И чтобы компилировалась 13 студией...


Вот нагуглилось: https://github.com/Tyler-Hardin/thread_pool
Re: Библиотеку для организации ThreadPool посоветуйте
От: B0FEE664  
Дата: 09.07.15 09:00
Оценка:
Здравствуйте, SаNNy, Вы писали:

SNN>Под Windows. Желательно с поддержкой лямбд (С++1) и одним хедером. И чтобы компилировалась 13 студией...


А можно поинтересоваться для какой задачи не подходит стандартный std::async ?
И каждый день — без права на ошибку...
Re[2]: Библиотеку для организации ThreadPool посоветуйте
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 09.07.15 09:28
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>А можно поинтересоваться для какой задачи не подходит стандартный std::async ?


А он разве чем-то похож на пул потоков?
Вообще, такой библиотеки действительно не хватает, ведь на большинстве платформ есть что-то родное (TreadPool на Windows, GSD на OS X), а обертки нет. Беда
Re: Библиотеку для организации ThreadPool посоветуйте
От: ReanGD http://reangdblog.blogspot.ru/
Дата: 09.07.15 09:31
Оценка:
Здравствуйте, SаNNy, Вы писали:

SNN>Под Windows. Желательно с поддержкой лямбд (С++1) и одним хедером. И чтобы компилировалась 13 студией...

В boost asio вполне себе годный
Re[2]: Библиотеку для организации ThreadPool посоветуйте
От: SаNNy Россия  
Дата: 09.07.15 10:38
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>А можно поинтересоваться для какой задачи не подходит стандартный std::async ?

А как в std::async ограничить количество используемых потоков?
Re[2]: Библиотеку для организации ThreadPool посоветуйте
От: SаNNy Россия  
Дата: 09.07.15 10:39
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, SаNNy, Вы писали:


SNN>>Под Windows. Желательно с поддержкой лямбд (С++1) и одним хедером. И чтобы компилировалась 13 студией...


CS>Вот нагуглилось: https://github.com/Tyler-Hardin/thread_pool


Пробовал. Отказалась компилироваться в 13-ой студии
Re[3]: Библиотеку для организации ThreadPool посоветуйте
От: SаNNy Россия  
Дата: 09.07.15 10:41
Оценка:
Здравствуйте, kaa.python, Вы писали:

BFE>>А можно поинтересоваться для какой задачи не подходит стандартный std::async ?


KP>А он разве чем-то похож на пул потоков?


В майкрософтовской реализации std::async используется пул потоков, но вот как там ограничить максимальное количество — хз. А мне как раз это и нужно
Re[2]: Библиотеку для организации ThreadPool посоветуйте
От: SаNNy Россия  
Дата: 09.07.15 10:42
Оценка:
Здравствуйте, ReanGD, Вы писали:

RGD>Здравствуйте, SаNNy, Вы писали:


SNN>>Под Windows. Желательно с поддержкой лямбд (С++1) и одним хедером. И чтобы компилировалась 13 студией...

RGD>В boost asio вполне себе годный

Для него надо ставить boost целиком или можно взять только .h/.cpp файлы?
Re[3]: Библиотеку для организации ThreadPool посоветуйте
От: ReanGD http://reangdblog.blogspot.ru/
Дата: 09.07.15 11:18
Оценка:
Здравствуйте, SаNNy, Вы писали:

SNN>Здравствуйте, ReanGD, Вы писали:


RGD>>Здравствуйте, SаNNy, Вы писали:


SNN>>>Под Windows. Желательно с поддержкой лямбд (С++1) и одним хедером. И чтобы компилировалась 13 студией...

RGD>>В boost asio вполне себе годный

SNN>Для него надо ставить boost целиком или можно взять только .h/.cpp файлы?

Вообще asio — header only, насколько я помню. Но не знаю насколько там внутри много завязок на всякие бустовые мьютексы, потоки и т.п.
Re[3]: Библиотеку для организации ThreadPool посоветуйте
От: Evgeny.Panasyuk Россия  
Дата: 09.07.15 11:21
Оценка:
Здравствуйте, kaa.python, Вы писали:

BFE>>А можно поинтересоваться для какой задачи не подходит стандартный std::async ?

KP>А он разве чем-то похож на пул потоков?

Например у MSVC в реализации там именно пул потоков.
Отредактировано 09.07.2015 11:22 Evgeny.Panasyuk . Предыдущая версия .
Re: Библиотеку для организации ThreadPool посоветуйте
От: Evgeny.Panasyuk Россия  
Дата: 09.07.15 11:25
Оценка: +2
Здравствуйте, SаNNy, Вы писали:

SNN>Под Windows. Желательно с поддержкой лямбд (С++1) и одним хедером. И чтобы компилировалась 13 студией...


В MSVC из коробки есть Microsoft PPL.
Кроссплатформенная альтернатива — Intel TBB.
Отредактировано 09.07.2015 11:27 Evgeny.Panasyuk . Предыдущая версия .
Re[4]: Библиотеку для организации ThreadPool посоветуйте
От: Went  
Дата: 09.07.15 11:55
Оценка:
Здравствуйте, ReanGD, Вы писали:
RGD>Вообще asio — header only, насколько я помню. Но не знаю насколько там внутри много завязок на всякие бустовые мьютексы, потоки и т.п.
Да, он немало тянет не-header-only из буста. Потоки, время, файловую систему тянуло точно.
Re[3]: Библиотеку для организации ThreadPool посоветуйте
От: B0FEE664  
Дата: 09.07.15 12:48
Оценка:
Здравствуйте, SаNNy, Вы писали:

BFE>>А можно поинтересоваться для какой задачи не подходит стандартный std::async ?

SNN>А как в std::async ограничить количество используемых потоков?
Понятно. Это имеет смысл. Я не знаю способа ограничить количество используемых потоков.

PS Можно, конечно, ограничить количество исполняемых тасков, добавив синхронизирующий объект (семафор) в начало каждой исполняемой функции, но это уже велосипед.
И каждый день — без права на ошибку...
Re[5]: Библиотеку для организации ThreadPool посоветуйте
От: Evgeny.Panasyuk Россия  
Дата: 09.07.15 12:50
Оценка: 8 (1)
Здравствуйте, Went, Вы писали:

W>Здравствуйте, ReanGD, Вы писали:

RGD>>Вообще asio — header only, насколько я помню. Но не знаю насколько там внутри много завязок на всякие бустовые мьютексы, потоки и т.п.
W>Да, он немало тянет не-header-only из буста. Потоки, время, файловую систему тянуло точно.

Есть Standalone Asio:

https://think-async.com/Asio/AsioStandalone
When using a C++11 compiler, most of Asio may now be used without a dependency on Boost header files or libraries. To use Asio in this way, define ASIO_STANDALONE on your compiler command line or as part of the project options.

Re[4]: Библиотеку для организации ThreadPool посоветуйте
От: Evgeny.Panasyuk Россия  
Дата: 09.07.15 12:53
Оценка: 2 (1) +1
Здравствуйте, B0FEE664, Вы писали:

BFE>Понятно. Это имеет смысл. Я не знаю способа ограничить количество используемых потоков.


Стандарт в этом месте будет расширятся, есть executors proposal. Автор Asio сделал соответствующую библиотеку.
В Boost.Thread уже добавили что-то из этого, пока правда experimental.
Отредактировано 09.07.2015 12:54 Evgeny.Panasyuk . Предыдущая версия .
Re[5]: Библиотеку для организации ThreadPool посоветуйте
От: monah_tuk Пират http://htrd.su
Дата: 09.07.15 13:37
Оценка: 8 (1)
Здравствуйте, Went, Вы писали:

W>Здравствуйте, ReanGD, Вы писали:

RGD>>Вообще asio — header only, насколько я помню. Но не знаю насколько там внутри много завязок на всякие бустовые мьютексы, потоки и т.п.
W>Да, он немало тянет не-header-only из буста. Потоки, время, файловую систему тянуло точно.

Можно взять саму Asio c think-async.com, там практически полная header-only реализация (подробнее в документации)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.