异步编程指南

     

基于Spring Integration和Apache Camel的SEDA

1516 6K
SEDA,或阶段化事件驱动架构,是Matt Welsh在他的博士论文中提出的一种架构风格。论文。它的主要优点是可伸缩性、支持高并发流量和可维护性。由于可伸缩性是SEDA的核心目标,因此通常最好设计专注.

Java虚拟线程:异步编程之死

2824 4 13K
最近,虚拟线程的第二个预览版作为JEP 436的一部分发布。第一个预览版中引入的一些更改已经完成,我们离获得对虚拟线程的完全访问权又近了一步。在本文中,我们将尝试为您提供有关为什么 JVM 生态系统中.

Rust异步Asyn的特点

2033 1 8K

经常听到有人把Rust和其他语言描述为 "穿风衣的N种语言"。在Rust中,我们有Rust的控制流结构,我们有decl-macro元语言,我们有trait系统(它是图灵完备的),我们有cfg注释语言-.

SpringBoot异步注释@Async的并发陷阱

1451 2K

在 Java 并发编程中实现异步函数之前,一般需要使用线程或线程池。线程池的底层也使用线程。要实现一个线程,要么继承Thread类,要么实现Runnable接口,然后在run方法中编写具体的业务逻辑代.

Rust 1.64.0发布:异步是亮点

1674 1

每六周发布一次新版本,在每个新版本中,这里都有一个包含一些亮点:1、Rust 现在有一个与异步相关的新特性:IntoFuture。.await 语法可用于任何实现 IntoFuture 的东西。(类似.

在事件驱动管道中设计弹性系统

1492 1
我为我们的金融科技软件设计了事件驱动的架构。它由三个部分组成。第一部分有一个同步过程,第二部分和第三部分有异步操作。响应回复客户端后,将Kafka(消息代理)的最终结果发送到第二部分和第三部分。在第二.

Kotlin和Java简单的重试代码 - Vlad

1373 1 2K

这是您无需任何其他库或代码依赖项即可重试部分代码的方式。如果需要更复杂的东西,推荐使用Resilience4j库,因为它提供了其他即用型功能。public static <T> T executeWi.

Fang:实现Rust异步后台处理

1469 5K

尽管 Rust 的第一个稳定版本于 2015 年发布,但其生态系统中仍然存在一些用于解决常见任务的漏洞。其中之一是后台处理。在软件工程中,后台处理是解决几个问题的常用方法: 执行定期任务。例如,传递通.

消息队列和消息总线有什么区别?

1534

消息队列消息队列是从一个应用程序接收一堆消息,并在先进先出(FIFO)的基础上将它们传递给一个或多个其他应用程序。消息队列由发布者和消费者组成。我们所说的发布者将消息留给队列。消费者也接收它们并进行处.

async-rdma:编写高吞吐量、低延迟网络应用的Rust库

1091

Async-rdma是一个用于编写具有高级抽象和异步 API 的 RDMA 应用程序的框架。它提供了几个主要组件: 用于与 rdma 端点建立连接的工具,例如RdmaBuilder. 用于端点之间数据.

Java19将成为非常了不起的Java版本?

2105 1
几年来最大的突破!也可能是在未来几年内是最有突破性的。1、虚拟线程(第一次预览)JVM上的一场真正的革命,延续了Java将保守的语言(尽管现在已经不那么保守了)与尖端的虚拟机相结合的传统。数以百万计的.

Loom会造成CPU密集型线程的不公平调度

1266 1

Project Loom ( JEP 425 ) 可能是 Java 有史以来最受期待的新增功能之一。它对虚拟线程(或“绿色线程”)的实现保证了开发人员能够创建高度并发的应用程序,例如具有数十万个打开的.

JEP 428:针对JDK 19提出的结构化并发

1329

Java开发人员通过将任务分解为多个子任务来管理复杂性。在普通的单线程代码中,子任务按顺序执行。但是,如果子任务彼此足够独立,并且有足够的硬件资源,则可以通过并发执行子任务来使任务运行得更快(延迟更低.

Java HTTP/2 客户端:从阻塞到异步 - sanjeevr

1502 1 8K

一个HttpClient可以用来通过HTTP访问网络上的任何资源。在Java 11之前,开发者不得不使用传统的HttpUrlConnection类,它被认为是更抽象的,或者使用第三方库,如Apache.

Rust异步框架的性能评估

1507 1

在这篇文章中,我们将评估三个异步框架在异步网络上的表现。它们中的每一个都将与 Rust 标准库提供的等效同步原语提供的基线性能进行评估和比较。也就是说,我们的目标是以下框架: async_std To.

Javascript异步客户端:Fetch与Axios比较

1354 10K

当我们构建需要我们向后端或第三方 API 发出网络请求的应用程序时,我们使用 Axios 和 Fetch 等 HTTP 客户端来执行此类请求。 在本指南中,我们介绍了 Axios 和 Fetch 并对.

Project Loom EA抢先体验版本发布

837 1 3K

Build 19-loom+5-429 (2022/4/4):此构建基于 JDK 19的不完整版本。与之前的版本相比,没有任何API变化。有很多 有很多变化,特别是在GC和运行时领域有很多变化,有几个.

在Rust中如何高效实现WebSocket? - ahmadrosid

3967 3 6K

如果您正在学习 Web 套接字,您可能会编写一个聊天服务器,但今天让我们做一些不同的事情。这是我们今天要介绍的内容:学习如何编写 Web 套接字服务器以提高生产力。 创建 websocket 服务器:.

completablefuture-examples:Java 20个CompletableFuture API案例代码片段

721

Java 8 的 CompletableFuture 是一个多功能的工具。这里有 20 个示例,说明如何在代码中使用它以获得最佳效果。由于CompletableFuture类实现了Completion.

Node.js终于有了Fetch API

2084 1

Fetch API 由来已久,它的推出预示着一个实时和交互式网页的新时代。2022 年 2 月 1 日,Node.js 核心团队合并了一个拉取请求,将 Fetch API添加到Node.js。 201.

Go最重要的特性是:隐形异步

1148 1 2K

当被问及 Go 最重要的特性时,许多人会谈论 Go 的简单性、C 互操作性、编译速度等。然而,Go 的最佳特性是在同步接口中编写异步代码的能力。作者给出了一个在 Go 与 Java 中发出的 HTTP.

Rust的async-await:协作调度 vs 抢占调度

1266

线程是为了并行化计算密集型任务。然而,如今,许多应用程序都是 I/O(输入/输出)密集型应用程序。这样,线程就有两个重大问题: 他们使用大量(与其他解决方案相比)内存 启动和上下文切换的成本可以在大量.

使用Chronicle Queue创建低延迟的TB级别的队列 - DZone

2797 1 4K

本文介绍如何使用开源 Chronicle Queue创建巨大的持久队列,同时保持可预测和一致的低延迟。在本文中,目标是维护来自市场数据馈送的对象队列(例如,在交易所交易的证券的最新价格)。也可以选择其.

使用Rustlang的Async Tokio运行时处理CPU密集型任务

1955 6K

Rust 内置了对异步 ( async) 编程模型的支持,类似于 JavaScript 等语言。要充分利用多核和异步 I/O,必须使用运行时,虽然 Rust 社区有多种替代方案,但 Tokio 是事实.

tokio-rs/console:异步Rust运行调试器控制台

2353 1 2K

这是一个用于异步 Rust 程序的诊断和调试工具。Tokio 团队宣布 Tokio Console ( Github )的初始版本,使 Rust 开发人员能够更深入地了解其应用程序的运行时行为。Tok.

reqwest:简单而强大的 Rust HTTP 客户端

2428 2K

符合人体工学的、强大的 Rust HTTP 客户端。 普通体、JSON、urlencoded、multipart 可定制的重定向策略 HTTP 代理 通过系统原生 TLS(或可选的 rustls)的 .

Java“虚拟线程”被提交到JEP草案

1719 1

Java也终于要有纤程、绿色线程啦,虚拟线程能大幅减少编写、维护和观察高吞吐量并发应用程序的工作量,这些应用程序通过虚拟线程充分利用可用硬件,这是一种成本显着降低的轻量级用户模式线程实现。这是一个预览.

使用Reactor将阻塞调用变为异步非阻塞

1971 3K

Project Reactor 是一个完全无阻塞的基础库,包括背压支持。但在某些情况下,库包含复杂的阻塞方法而没有异步实现。在Reactor 流中调用此方法会产生不好的结果。下面代码中我们使用了Htt.

后端渲染SSR卷土重来?

1425 1

以下是搜集网络相关专业人士意见:随着服务器端渲染 (SSR) 的(重新)扩散,开始怀疑单页应用程序 (SPA) 是错误还是过于极端的趋势,其实SSR 一直是后端工程师的不二之选。我认为当前端技术允许在.

Spring WebFlux性能真的超过Spring Servlet ? - Gavin

2416 1

如何构建高性能系统一直是开发人员感兴趣的话题。很多业内人士提倡非阻塞编程的范式,表示基于非阻塞编程的应用相比传统的阻塞技术命令式编程,可以更高效地利用资源,实现更高的性能。许多文章解释了非阻塞编程的好.