[翻译]async: 什么是blocking

原文来自:https://ryhl.io/blog/async-what-is-blocking/
作者:Alice Ryhl
翻译 by abaabaqua

Rustasync/await特性是通过一种称为协作式调度(cooperative scheduling)的机制来实现的,这对于编写异步Rust代码的人来说有一些重要的影响。

这篇博文的目标读者是异步Rust的新用户。我将使用Tokio运行时作为示例,但这里提出的观点适用于任何异步运行时。

如果你只从这篇文章中记住一件事,那应该是:
异步代码不应该长时间不到达.await。(注:指的是运行中)

Read More

理一理Edge-triggered和Level-triggered

最近群里又在讨论java的NIO,提到了NIO使用的lt而netty使用JNI在linux和MacOS/BSD中封装了et.
之前对这两个概念笼统了解了下,并没有去查阅额外资料,仅限知道lt在缓冲区还有数据的情况下就会被poll出来,而et则需要有新的请求/事件发生.
这次查阅了点资料,汇总一些数据来简单(毕竟也没有那么深入..)谈谈这两个概念.

Read More

rust学习感想

最近刚把The book看完了,手有些生,断断续续写点小东西,这边写一下这个歌阶段的一些学习感想,感受.
文章很水,没有语言上的指导只有自己的一些见解,部分内容还可能是完全错误的,欢迎指正~~.

学习目的主要是想开阔一下视野.
之前就偶尔会听到别人说rust在设计上有一些特别的地方,并且又由于是一门可以进行系统编程的语言,学习的收获也会比学其他的来得多,就这样开始了.

Read More

2019年中总结~

很快2019年已经过去了一半,机械般重复的工作和生活让时间有了一种停滞感,每天就像往瓶子里滴一滴水,没什么感觉,但一回过神来已经满了半瓶.

Read More