< 返回版块

qwy16 发表于 2020-04-28 14:21

Tags:rust smol teleforking traits

smol - 一个快捷有短小精悍的Rust异步运行环境库)

smol (@stjepang) - A small and fast async runtime for Rust

https://github.com/stjepang/smol

这个运行环境库扩展了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。

https://leshow.github.io/post/cheat_rank_n/

From 日报小组 BobQ

独立日报订阅地址:

社区学习交流平台订阅:

评论区

写评论
phper-chen 2020-04-30 11:00

mark一下

1 共 1 条评论, 1 页