
ACE
文章平均质量分 93
Linkkk丶
这个作者很懒,什么都没留下…
展开
-
Chapter 6. An Overview of Operating System Concurrency Mechanisms
网络应用,特别是服务器,总是经常并行地处理请求以满足服务质量的需求。第 5 章描述了并行选项相关的一般设计权衡点。本章展示用于实现这些设计的同步事件解多路复用器,多进程,多线程,和同步机制的概览。我们也讨论了一些使用原生 C-level 并发 API 时带来的兼容性和编程问题。翻译 2023-04-19 10:53:09 · 105 阅读 · 0 评论 -
Chapter 3. ACE Socket 封装外观
它们因此封装由现存非面向对象的 APIs 提供的函数和数据,使用更加简明,稳定,可移植,可维护,和更集中的面向对象的类接口。我们的迭代服务器的主要缺点是当很多客户端同时发送请求时,且当 Web 服务器正在处理某个请求时,OS Socket 的实现仅排队很少的数量(比如,5 ~ 10) 的连接请求。封装外观提供一个接口,通过默认值和多个构造函数 (构造函数有几个类型签名的变体) 简化常见的内存映射文件的使用,例如,“从打开的文件 handle 映射” 或 “从文件名映射”。函数中的 I/O 方法将阻塞。翻译 2023-03-30 09:35:23 · 517 阅读 · 0 评论 -
Chapter 2. Socket API 概览
早先的章节专注于网络应用通讯设计领域的模式化,提供了很多解决内在固有的复杂度的指导。本章开始深入解决方法领域,从最常见的进程间通讯 (IPC) 机制开始:socket。描述 Socket API 和它在 TCP/IP 中的使用,随后分析当开发者使用原生 OS APIs 进行网络应用编程时会发生的常见意外复杂度。翻译 2023-03-28 10:25:56 · 175 阅读 · 0 评论 -
Chapter 1. 通讯设计维度
通讯是网络应用设计的基础。本章展现了通讯设计维度的域分析,它引入了网络应用用于彼此交互的规则,格式和抽象等级。翻译 2023-03-27 11:33:02 · 140 阅读 · 0 评论 -
设计挑战,中间件解决方案,和 ACE
本章描述了在分布式计算环境中有效开发网络应用和中间件的挑战。在开发软件时,从严格约束的实时和嵌入式系统到最新的中间件抽象以及下一代具有严格的 QoS 需求的网络应用,我们引入了内在复杂度和意外复杂度。我们展现了一种对中间件分层的分类法,强调了主机基本架构中间件的好处,这也是本书所聚集的。本章也引入了对网络应用架构的关键设计维度的域分析结果。通讯协议和机制并发架构服务架构服务配置策略最后,我们引入网络日志服务。翻译 2023-03-10 10:26:37 · 562 阅读 · 0 评论 -
ACE Shared Memory
现代操作系统强制进程间的地址空间保护。这意味着 OS 不允许两个不同的进程写彼此的地址空间。虽然在大部分情境下是需要这样做的,有时你希望你的进程共享它们地址空间中的部分。共享内存基元允许你做到这一点。事实上,当正确使用时,共享内存是集中进程间最快的进程间通讯方式,特别是当大量的数据需要共享时。共享内存并不仅仅被用作 IPC 机制。共享内存基元也允许你通过将文件映射到内存中,来使用文件工作。这允许你对文件执行直接基于内存的操作,而不是使用文件 I/O 操作。当你希望提供一种简单的方法来持久化数据结构时,使用翻译 2022-01-11 16:08:05 · 593 阅读 · 1 评论 -
ACE_Abstract_Timer_Queue
文章目录ACE_Abstract_Timer_Queue模板参数成员类型成员函数is_emptyearliest_timescheduleexpireexpire_singlereset_intervalcancelclosegettimeofdaycalculate_timeoutcurrent_timeACE_Abstract_Timer_Queuetemplate<typename TYPE>class ACE_Abstract_Timer_Queue;所有单类型定时器队列的基类翻译 2021-11-15 15:17:05 · 403 阅读 · 0 评论 -
ACE_SOCK_Dgram_Mcast
ACE_SOCK_Dgram_Mcast为 UDP/IP multicast 定义 ACE socket 封装。支持多某一或所有订阅进行多重同时订阅和退订,实现独立的 send/recv 地址和接口规格。构造函数参数决定预实例化可选的功能。使用注意事项:发送和接收地址和网络接口,不单单是端口,是相互独立的。当该实例是打开的,一个发送接口(和一个默认的发送地址)是有效的,0,1 或多个接收地址/接口是有效的。第一次的 open()/subscribe() 调用定义了网络接口和用于该实例所有发送的默翻译 2021-06-29 15:50:05 · 714 阅读 · 1 评论