Boost.Aiso概述 基本原理

大多数程序与外面的世界交互,都使用某种方式,无论是通过文件、 网络、 串行电缆或控制台。有时,带网络连接的情况一样,单个 I/O 操作可以花很长的时间才能完成。这对应用程序开发特殊挑战。

Boost.Asio 提供的工具来管理这些长时间运行的操作,而无需程序使用基于线程和显式锁定的并发模型。

Boost.Asio 库是为使用 c + + 的系统编程的程序员,在哪里访问操作系统功能时需要,如网络。尤其是,Boost.Asio 解决实现以下目标︰

  • 可移植性。
  • 库应支持各种常用的操作系统,并在这些操作系统中提供一致的行为。
  • 可扩展性。 
  • 库应促进开发的网络应用程序扩展到数千个并发连接。为每个操作系统库的实现应使用最好使这种可扩展性的机制。
  • 效率。     
  • 库应支持散播-聚集 I/O 等技术,并允许程序尽量减少数据复制。
  • 模型概念从既定的 APIS,比如 BSD 套接字。 
  • BSD 套接字 API 是广泛地实施和理解,并覆盖在很多文献。其他编程语言经常使用类似的接口的网络 Api。只要是合理的 Boost.Asio 应该利用现有的实例。
  • 易用性。 
  • 库应该通过工具包,而不是框架,采取为新用户提供较低的进入壁垒。那就是,它应尽量减低时间只学习几个基本的规则和准则的前期投资。在那之后,库用户应该只需要了解正在使用的特定功能。
  • 进一步抽象基础。 
  • 库应允许提供更高的抽象级别其他库的发展。例如,常用的协议,如 HTTP 实现。

虽然 Boost.Asio 开始生活主要侧重于网络,其概念异步 I/O 已经扩大到包括其他操作系统资源,如串行端口、 文件描述符,等等。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道格拉斯范朋克

播种花生牛奶自留田

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值