Пул потоков в стандартной библиотеке

Osmironov
Osmironov

На сегодняшний момент в std существует класс, позволяющий создавать новые потоки выполнения - std::thread, однако отсутствует реализация пула потоков, который мог бы работать с целой очередью задач, балансируя нагрузку между потоками. Я не считаю себя крупным специалистом в C++, однако, на сколько я знаю, реализации такого пула содержатся в библиотеке tbb, в библиотеках ОС QNX, в множестве open-source проектов. Почему бы не внести одну из них (или несколько) в стандарт?

P.S. возможно, над таким предложением уже работают, прошу меня простить в этом случае. Повторюсь, что не являюсь крупным профессионалом.

14
рейтинг
1 комментарий
yndx-antoshkka
Подобное уже долго обсуждается и будет называться Executors open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0443r2.html . Executors должны будут хорошо интегрироваться с разными частями стандартной библиотеки, например с Networking TS.

На данный момент там достаточно сложный дизайн, есть предложения по упрощению open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0688r0.html

Комитет хочет успеть сделать в виде TS к С++20, но это оптимистичный план.
yndx-antoshkka
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).