2 个不稳定版本
使用旧的 Rust 2015
| 0.1.0 | 2017年6月10日 |
|---|---|
| 0.0.1 | 2017年5月28日 |
#5 在 #发送-接收
每月下载量:109
用于 10 个包 (直接使用4个)
52KB
884 行
dharma 包提供高级多线程支持。
bridge 模块
bridge 模块提供与标准 spmc 类似的函数,但它不是产生固定的发送器-接收器对,而是允许它们自由连接,因此我们可以有许多发送器向多个接收器发送数据,以及一个接收器可以灵活地监听多个发送器。
signaler 模块
在此基础上,我们添加了 Signaler,它可以订阅接收器以接收信号(应用程序定义的事件),创建通知机制。
event_loop 模块
在 Signaler 的基础上,我们添加了 EventLoop,它是分配给线程的事件队列。 EventLoop 有分配的 Module,它们构成独立的应用程序组件。 Module 可以以灵活的方式分配给 EventLoop,这使得控制线程中处理的任务变得容易。 Module 不共享内存,并通过信号进行通信。
dispatcher 模块
每个线程框架都应该提供监听系统事件的机制。 Dispatcher 允许注册 EventHandler(包装文件描述符),并在它们分配的系统事件准备处理时调用它们。
system 模块
最后一个模块包含处理系统信号的辅助代码。
依赖项
~1.5MB
~36K SLoC