Существует ли модель потоков, которая работает примерно так:
while thread = nextAvailableThread():
thread.doWork(data)
Так, что когда поток завершается, он вызывает nextAvailableThread (), чтобы вернуть этот поток, который только что закончился. Эта модель значительно упростила бы распределение неравномерных блоков данных между потоками, поскольку вы могли бы просто передать следующий блок данных следующему доступному потоку и получить почти оптимальное распределение данных.
Мне особенно интересно использовать это в C ++, но я был бы рад, если бы что-нибудь подобное существовало на любом языке?
РЕДАКТИРОВАТЬ: Пул потоков выглядит так же, как я думал. Итак, какие-нибудь рекомендации для реализации C ++?