当前位置:首页 > 编程笔记 > 正文
已解决

vertx的学习总结4之异步数据和事件流

来自网友在路上 168868提问 提问时间:2023-10-09 01:27:15阅读次数: 68

最佳答案 问答题库688位专家为你答疑解惑

一、异步数据和事件流

1.为什么流是事件之上的一个有用的抽象?

2.什么是背压,为什么它是异步生产者和消费者的基础?

3.如何从流解析协议数据?

1.  答:因为它能够将连续的事件序列化并按照顺序进行处理。通过将事件视为一个连续的流,我们可以更方便地处理和分析事件数据,并能够实时地对事件进行处理和响应。

异步:

package IO;import io.vertx.core.Vertx;
import io.vertx.core.file.AsyncFile;
import io.vertx.core.file.OpenOptions;public class Test {public static void main(String[] args) {Vertx vertx = Vertx.vertx();OpenOptions opts = new OpenOptions().setRead(true);vertx.fileSystem().open("build.gradle.kts", opts, ar -> {  //异步if (ar.succeeded()) {AsyncFile file = ar.result();file.handler(System.out::println).exceptionHandler(Throwable::printStackTrace).endHandler(done -> {System.out.println("\n--- DONE");vertx.close();});} else {ar.cause().printStackTrace();}});}}

2. 答:背压是一种机制,事件的消费者可以向事件的生产者发出信号,表明它正在以比消费者处理事件的速度更快的速度发出事件。在响应式系统中,背压用于暂停或减慢生产者的速度,以便消费者避免在无限的内存缓冲区中积累未处理的事件,从而可能耗尽资源。
为了理解为什么背压对异步流很重要,让我们以用于下载Linux发行版映像的HTTP服务器为例,并考虑在p中没有任何背压管理策略的实现

3:

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"vertx的学习总结4之异步数据和事件流":http://eshow365.cn/6-17537-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!