[关闭]
@john-lee 2021-01-01T16:59:42.000000Z 字数 2667 阅读 959

前摄器设计模式:无线程并发(The Proactor Design Pattern: Concurrency Without Threads)

Boost.Asio


Boost.Asio 库为同步和异步操作提供并排支持。异步支持基于监考器设计模式[POSA2]。与同步或反应器方法相比,这种方法的优点和缺点概述如下。

前摄器和 Boost.Asio

让我们来研究一下前摄器设计模式是如何在 Boost.Asio 中实现的,而不提及特定于平台的详细信息。

proactor

前摄器设计模式(改编自[POSA2])

使用反应器实现

在许多平台上,Boost.Asio 在反应器(如select, epollkqueue)中实现前摄器设计模式。此实现方法对应于前摄器设计模式,如下所示:

使用 Windows 重叠 I/O 实现

在 Windows NT、2000 和 XP 上,Boost.Asio 利用重叠 I/O 提供前摄器设计模式的高效实现。此实现方法对应于前摄器设计模式,如下所示:

优点

缺点

引用

[POSA2]: D. Schmidt et al, Pattern Oriented Software Architecture, Volume 2. Wiley, 2000.


Copyright © 2003-2020 Christopher M. Kohlhoff

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注