前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2020-04-27 - smol异步库,teleforking, traits

【Rust日报】2020-04-27 - smol异步库,teleforking, traits

作者头像
MikeLoveRust
发布2020-05-04 22:38:07
7080
发布2020-05-04 22:38:07
举报

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文件夹中来运行,具体例子执行如下 --

代码语言:javascript
复制
$ cd examples$ ls$ cargo run --example ctrl-c

兼容性:看这些例子可以明白smol是怎么可以跟别的异步运行库混用的,包括: async-std,tokio, surf, reqwest

其中有一个非常重要的功能可以无缝的集成全部使用tokio作为依赖的库包,它创建一个global tokio运行库并在smol里面直接设置内容, 可以通过下面的方式激活这个功能:

代码语言:javascript
复制
[dependencies]smol = { version = "0.1", features = ["tokio02"] }

下面是文档生成方式:

代码语言:javascript
复制
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/

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-28,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • smol - 一个快捷有短小精悍的Rust异步运行环境库)
  • 细思极恐的Teleforking - 在另外一个计算机"远程启动"一个计算进程!
  • 用rust语言的Traits数据结构实现高阶排序"欺骗"!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com