smol - 一个快捷有短小精悍的Rust
异步运行环境库)
smol (@stjepang) - A small and fast async runtime for Rust
这个运行环境库扩展了rust
语言标准类库 并结合了异步机制,仅用1500行代码写成!
请大家阅读文档 并参考提供的例子
这样就可以开始自己动手写具有异步运行机制的程序了。
这个运行库的异步实现机制在Linux/Android上用epoll 在macOS/iOS/BSDkqueue 在Windows上用wepoll 分别用不同的底层技术实现。
功能:
- 异步TCP,UDP,Unix domain sockets,自定义的file descriptors.
Send!
执行器采用本地线程。Work-stealing
执行器能对各种不同的workloads(负载)自适应。- 阻塞执行器可以用在包括文件,进程和标准I/O上。
- 执行任务可以取消
Userspaces Timers
计时器
代码例子: 需要在 examples 文件夹中来运行,具体例子执行如下 --
$ cd examples
$ ls
$ cargo run --example ctrl-c
兼容性:
看这些例子
可以明白smol
是怎么可以跟别的异步运行库混用的,包括:
async-std
,tokio
,surf
,reqwest
其中有一个非常重要的功能可以无缝的集成全部使用tokio作为依赖的库包,它创建一个global tokio运行库并在smol里面直接设置内容, 可以通过下面的方式激活这个功能:
[dependencies]
smol = { version = "0.1", features = ["tokio02"] }
下面是文档生成方式:
cargo doc --document-private-items --no-deps --open
细思极恐的Teleforking
- 在另外一个计算机"远程启动"一个计算进程!
Teleforking a process onto a different computer!
https://thume.ca/2020/04/18/telefork-forking-a-process-onto-a-different-computer/
一个用rust语言实现的细思极恐的Teleforking
远程启动进程功能。大家围观,不要拿来做坏事哈!
用rust
语言的Traits
数据结构实现高阶排序"欺骗"!
Cheating Higher Ranks with Traits。
From 日报小组 BobQ
独立日报订阅地址:
社区学习交流平台订阅:
评论区
写评论不错啊