我创建了一个模型,用于使用与 IO 完成端口关联的线程池在服务器应用程序中执行工作任务,如下面的帖子所示:

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 中是否有任何类可以帮助实现此编程模型?

有帮助吗?

解决方案

不是真的,至少,我上次看的时候不是。我的意思是, boost::thread_group 可能会使某些地方的事情变得稍微整洁,但我认为不会产生太大的影响。

在编写跨平台的内容时,Boost 的线程支持似乎没什么用处,但考虑到您正在编写的内容无论如何都将是特定于 Win32 的(由于使用了 IOCP),因此似乎并没有真正从中带来多大好处。

其他提示

您可能想查看 线程池项目, ,这看起来像是在 boost 之上的一个不错的线程池实现。我自己没有尝试过,但看起来相当不错。

我在 boost 中没有看到任何有助于您在使用 IO 完成端口时最终得到的结构的内容,但我最近没有看到这一点......然而,有点偏离主题,您可能想看一下基于 IOCP 的线程池,它是我的免费 IOCP 服务器框架的一部分。如果没有别的的话,它可能会给你一些想法。你可以找到代码 这里. 。线程池支持按需扩缩容,已经在生产系统中使用了6年多。

高手 有一些反应器,您可以使用它们来围绕 IOCP 进行建模。其中一些可以添加到 boost 中,但 boost 使构建它们变得非常容易。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top