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