Ориентированный на задачи пул потоков - PullRequest
4 голосов
/ 01 сентября 2008

Я создал модель для выполнения рабочих задач в серверном приложении, используя пул потоков, связанный с портом завершения ввода-вывода, как показано в следующих сообщениях:

http://weblogs.asp.net/kennykerr/archive/2008/01/03/parallel-programming-with-c-part-4-i-o-completion-ports.aspx

http://blogs.msdn.com/larryosterman/archive/2004/03/29/101329.aspx

Существуют ли какие-либо классы в boost, которые могут помочь с этой моделью программирования?

Ответы [ 4 ]

1 голос
/ 05 сентября 2008

Возможно, вы захотите проверить проект пула потоков , который выглядит как хорошая реализация пула потоков поверх надстройки. Я сам не пробовал, но выглядит довольно мило.

1 голос
/ 15 сентября 2008

Я не видел ничего в надстройке, которая бы помогала со структурой, с которой вы, как правило, сталкиваетесь при использовании портов завершения ввода-вывода, но в последнее время я не смотрел на это так ... Однако, немного не по теме Я хотел бы взглянуть на пул потоков на основе IOCP, который является частью моей бесплатной инфраструктуры IOCP-сервера. Это может дать вам некоторые идеи, если ничего больше. Вы можете найти код здесь . Пул потоков поддерживает расширение и сжатие в зависимости от спроса и используется в производственных системах более 6 лет.

1 голос
/ 01 сентября 2008

Не совсем, по крайней мере, не в последний раз, когда я смотрел. Я имею в виду, что boost :: thread_group может сделать вещи немного более аккуратными в некоторых местах, но не так, чтобы это имело большое значение, я не думаю.

Поддержка потоков Boost кажется незначительно полезной при написании чего-то кросс-платформенного, но, учитывая, что то, что вы пишете, в любом случае будет зависеть от Win32 (из-за использования IOCP), на самом деле не так уж много выиграть от этого.

0 голосов
/ 22 апреля 2010

ACE имеет несколько реакторов, которые вы можете использовать для моделирования вещей вокруг ваших IOCP. Некоторые из них могли быть добавлены для повышения, но повышение делает их создание довольно простым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...