<p>I've created a model for executing worker tasks in a server application using a thread pool associated with an IO completion port such as shown in the posts below:</p>

<p><a href="http://weblogs.asp.net/kennykerr/archive/2008/01/03/parallel-programming-with-c-part-4-i-o-completion-ports.aspx" rel="noreferrer">http://weblogs.asp.net/kennykerr/archive/2008/01/03/parallel-programming-with-c-part-4-i-o-completion-ports.aspx</a></p>

<p><a href="http://blogs.msdn.com/larryosterman/archive/2004/03/29/101329.aspx" rel="noreferrer">http://blogs.msdn.com/larryosterman/archive/2004/03/29/101329.aspx</a></p>

<p>Are there any classes in boost that can help with this programming model?</p>

[{'answer_id': 37314, 'author': 'DrPizza', 'author_id': 2131, 'author_profile': 'https://Stackoverflow.com/users/2131', 'pm_score': 2, 'selected': True, 'text': "<p>Not really, at least, not last time I looked.  I mean, boost::thread_group might make things marginally tidier in places, but not so as would make much of a difference, I don't think.</p>\n\n<p>Boost's thread support seems marginally useful when writing something that's cross-platform, but given that what you're writing is going to be Win32-specific anyway (due to the use of IOCPs) there doesn't really seem to be much benefit from that.</p>\n"}, {'answer_id': 45956, 'author': 'Nick Haddad', 'author_id': 2813, 'author_profile': 'https://Stackoverflow.com/users/2813', 'pm_score': 1, 'selected': False, 'text': '<p>You might want to check out the <a href="http://threadpool.sourceforge.net/" rel="nofollow noreferrer">threadpool project</a>, which looks like a nice threadpool implementation on top of boost.  I haven\'t tried it myself, but it looks fairly nice.</p>\n'}, {'answer_id': 63642, 'author': 'Len Holgate', 'author_id': 7925, 'author_profile': 'https://Stackoverflow.com/users/7925', 'pm_score': 1, 'selected': False, 'text': '<p>I haven\'t seen anything in boost that helps with the structure that you tend to end up with when using IO Completion Ports, but then I haven\'t looked that recently... However, slightly off-topic, you might like to take a look at the IOCP based thread pool that is part of my free IOCP server framework. It might give you some ideas if nothing else. You can find the code <a href="http://www.serverframework.com/products---the-free-framework.html" rel="nofollow noreferrer">here</a>. The thread pool supports expansion and contraction based on demand and has been in use in production systems for over 6 years.</p>\n'}, {'answer_id': 2687114, 'author': 'Chris K', 'author_id': 51789, 'author_profile': 'https://Stackoverflow.com/users/51789', 'pm_score': 0, 'selected': False, 'text': '<p><a href="http://www.cs.wustl.edu/~schmidt/ACE.html" rel="nofollow noreferrer">ACE</a> has some reactors that you can use to model things around your IOCPs.  Some of these could have been added to boost, but boost makes building them pretty easy. </p>\n'}]
['https://Stackoverflow.com/questions/37067', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/3146/']