百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
C

celluloid-io

> 编程语言
开源

未维护:请参阅 celluloid/celluloid#779 - 适用于 Celluloid 行为者的事件化套接字

873 stars0 点赞2 次浏览
访问官网GitHub

工具介绍

未维护:请参阅 celluloid/celluloid#779 - 适用于 Celluloid 行为者的事件化套接字

============== 你不必在线程式和事件式 IO 之间做出选择! Celluloid::IO 提供了基于事件的 IO 系统,可用于构建快速、可扩展的网络应用程序,并可直接与 Celluloid 行为库 集成,从而使线程式和事件式的概念得以轻松结合。 Celluloid::IO 非常适合处理大量主要处于空闲状态的连接的服务器,例如 Websocket 服务器或聊天/消息系统。

Celluloid::IO 提供了一个不同类型的 Actor: 它比标准的 Celluloid Actor 稍慢和稍重一些,但却包含了一个高性能的 Reactor,就像 EventMachine 或 Cool.io 一样。这意味着 Celluloid::IO Actor 既具有 Celluloid Actor 的功能,又具有事件驱动的 I/O 循环的能力。与某些其他事件驱动的 I/O 系统不同,它们只允许每个进程使用一个事件循环,而 Celluloid::IO 允许您根据系统资源的限制创建任意数量的 Actor。

与回调不同,Celluloid::IO 通过 Ruby 自己的 IO 类的鸭子类型 (如 TCPServer 和 TCPSocket) 来提供同步 API。这些类的工作方式与其核心 Ruby 类相同,但在 Celluloid::IO 行为者的范围内,它们提供了"事件化"性能。由于它们是标准类的直接替换,因此无需重写每个库,才能利用 Celluloid::IO 的事件循环,而且您可以在单个连接的整个生命周期内自由切换事件化和阻塞式 IO。

Celluloid::IO 使用 nio4r gem 来监控 IO 对象,该 gem 提供了跨平台和跨 Ruby 实现的访问,可访问高性能系统调用,如 epoll 和 kqueue。

Please see the Celluloid::IO Wiki YARD documentation

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Ruby

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言