异步编程指南

     

Webhooks与API比较

1114

API 和Webhooks网络钩子都允许不同的软件系统同步和共享信息。API 就像一个门户,通过它可以在两个软件服务之间共享信息和功能。通常,我们向 API 端点发送特定请求,然后使用获取的结果来处理.

Shopify如何使用Ruby实现每小时销售1亿美元?

1032 1 6K

在 2021 年网络黑色星期五 (BFCM) 期间,Shopify 商家的销售额超过 50 亿美元,峰值销售额超过每小时 1 亿美元。在如此大规模的情况下,高可用性和快速响应时间至关重要。但即使对于较.

Aiohttp是Python的最快的异步HTTP客户端/服务器库包

2724 3K

Aiohttp用于asyncio和 Python 的异步 HTTP 客户端/服务器。主要特点 支持客户端和HTTP 服务器。 支持开箱即用的服务器 WebSockets和 客户端 WebSockets.

使用Rqueue框架基于Redis和Spring Boot执行异步任务 -sonus21

2669 7K

在本文中,我们将学习如何使用Spring Boot 2.x和Redis执行异步任务,最后的代码演示了本文中描述的步骤。一个典型的API调用包括五件事:执行一个或多个数据库(RDBMS / NoSQL).

JDK 17的外部存储器访问和Nio通道异步化 – Inside.java

960

当前Java平台的NIO通道仅支持同步通道上的I / O操作,这些通道具有在受限内存段上的字节缓冲区视图。尽管有一定的局限性,但这反映了一种实用的API约束解决方案,同时推动了外部存储器访问API本身.

Go语言中用于错误处理的Defer、Panic和Recover - Sachin Karve

1206

许多开发人员在开始开发企业级应用程序之前,往往会忽略编程语言的错误处理机制。最好以一种可以从异常中恢复(万一发生)的方式开发代码。不同的编程语言以不同的方式处理错误,异常和恢复。Go采用了Defer、.

Rust语言异步编程简介 - Shakaib

2588 4K

我认为可以肯定地说,Rust最令人期待的语言功能之一终于落地了。我假设您一些有关Rust的语法和生态系统的基础知识。但是在深入研究编码部分之前,让我们用Async的定义介绍异步编程的一些基本概念。异步.

ThreadLocal难以在异步编程或Reactive编程中使用 - bsideup

3412

与同步编程不同,由于大量上下文切换和线程池,异步编程使得ThreadLocal难以使用。最简单的是……根本不使用ThreadLocals:D例如,在Project Reactor中,您可以使用Cont.

Project Loom fibers与RPC陷阱是一样,试图用同步方式封装异步操作,非常危险,它会淘汰Java Future吗? -SoftwareMill

2893 1

Loom的Fiber类似Scala和Kotlin的纤程,可以解决我们的并发问题,它与Java JDK的Futures 相比,解决了控制流丢失,上下文和virality丢失的问题。可悲的是,编写并发程序.

HttpClient Executors工作原理 - Cay Horstmann

2851 4K

 Java 11添加了HttpClient,为我们提供了一种更好的HTTP请求发送方式。它支持异步和同步模式。支持HTTP2开箱即用。有点时髦,Cay Horstmann教授探讨了如何在表面下的工作原.

承诺模式(Promise)

1411 25K
目的承诺(Promise)代表的是一种值的代理,这种值在承诺被创建时并不一定是已知的。它允许您将依赖的承诺与异步操作的最终成功值或失败原因相关联。承诺是一种编写异步代码的方法,它仍然显示为以同步方式执.

半同步/半异步(Half-Sync/Half-Async)

1447 14K
目的半同步/半异步模式将同步I / O与系统中的异步I / O分离,以简化并发编程工作,而不会降低执行效率。适用场景 系统具有以下特征: 系统必须执行任务以响应异步发生的外部事件,如OS中的硬件中断。.

在Vert.x中使用SQL - Alexey Soshin

1559 1 2K

Vert.x是异步的。在Vert.x中执行数据库查询时,您显然正在传递回调。那么,它是异步的?:conn.updateWithParams("insert into user (email, name.

基于事件的异步模式(Event-based Asynchronous)

1534 28K
目的基于事件的异步模式提供了多线程应用程序的优势,同时隐藏了多线程设计中固有的许多复杂问题。使用支持此模式的类可以允许您:在不中断应用程序的情况下,“在后台”执行下载和数据库操作等耗时的任务。同时执行.

事件队列(Event Queue)

2894 1 13K
目的如果您的可访问性资源有限(例如:音频或数据库),则事件队列是一种很好的模式,但是您需要处理所有想要使用它的请求。它将所有请求放入队列并异步处理它们。当事件是队列中的下一个事件时为其提供资源,同时将.

事件驱动架构(Event Driven Architecture)

1521 27K
目的使用事件驱动架构将对象的状态更改发送并通知给其他应用程序。适用场景 你想创建一个松散耦合的系统 你想建立一个响应更快的系统 你想要一个更容易扩展的系统 .

事件聚合器(Event Aggregator)

3033 1 28K
目的当客户端想要订阅事件时,具有大量对象的系统可能导致复杂性。客户端必须单独查找和注册每个对象,如每个对象有多个事件,则每个事件都需要单独订阅。事件聚合器充当许多对象的单个事件源。它注册了许多对象的所.

异步方法调用模式(Async Method Invocation)

1602 25K
目的异步方法调用是在等待任务结果时不阻塞调用线程的模式。该模式提供多个独立任务的并行处理,并通过回调检索结果。适用场景何时使用异步方法调用模式 您有多个可以并行运行的独立任务 您需要提高一组连续任务的.

服务激活器模式(Service Activator Pattern)

5987 1 35K
在企业应用程序中,大多数处理是以同步方式完成的。客户端调用业务服务并等待业务服务从处理返回。但是,某些用例中的业务处理需要相当多的时间和资源。业务处理甚至可能跨越应用程序,可能与企业内外的应用程序集成.

Cadence:优步Uber的开源工作流程编排引擎

6373 3

Cadence是一种分布式,可扩展,持久且高度可用的编排引擎,可以以可伸缩和弹性的方式执行异步长期运行的业务逻辑。业务逻辑被建模为工作流和活动。工作流程是协调逻辑的实现。其唯一目的是协调活动执行。活动.

半同步/半异步模式

2995 1 45K
目的半同步/半异步模式将同步I/O与系统中的异步I/O分离,以简化并发编程工作,且不会降低执行效率。将并发软件的服务分解为同步和异步两个独立的层,并添加一个排队层来协调它们之间的通信。在单独的线程或进.

Java多线程傻瓜入门介绍

1011 5K

现代计算机能够同时执行多个操作。在硬件改进和更智能的操作系统的支持下,多个操作的功能使您的程序在执行速度和响应速度方面运行得更快。编写利用这种功能的软件既迷人又棘手:它要求您了解计算机引擎盖下发生的情.

Vert.x的介绍!这是目前最快的Java框架

20947 4 5K

如果您最近使用Google搜索“最佳网络框架”,您可能会偶然发现Techempower基准测试,其中排名超过300个框架。在那里你可能已经注意到Vert.x是排名最高的之一。Vert.x是一个多语言W.

在Java中本地进行线程间数据传输的三种方式和源码展示

1847 3K

在线程之间进行通信或发信号时首先想到的是java.lang.Object类方法:wait,notify和notifyAll。这是最基本和最广泛认可的概念,但本博客并非讲这些。JVM实例上运行的线程缺少.

异步编程:协作性多任务处理

2007 2K

如何确保同时处理多个请求,我们可以使用线程或进程进行多任务处理实现,但还有一个选择 - 协作性多任务处理。这个选项是最困难的。在这里我们说操作系统当然很酷,它有调度程序/计划程序,它可以处理进程,线程.

异步编程测试Awaitlity简介| Baeldung

3858 1 9K

异步系统的一个常见问题是,很难为那些专注于业务逻辑并且不会受到同步,超时和并发控制污染的可编写测试。在本文中,我们将介绍Awaitility - 一个为异步系统测试提供简单的特定于域的语言(DSL)的.

Spring WebFlux和Reactive编程

4392 10K

在看到Jurgen Hoeller引入新的Spring 5功能后,我终于开始尝试在尚未发布的Spring Boot 2.0.0 Snapshot中尝试新的Spring WebFlux项目。开始吧:Ma.

Oracle Advance Queuing是否适合您?

1527 18K

最近在EmbedIT工作中,我需要评估Oracle AQ是否是一个替代旧的异步任务管理系统的不错选择。所以,让我分享一下我的经验。首先,有关Oracle AQ的文档非常庞大,因此我将指出您想知道的最重.

如何在SpringBoot 2中使用CompletableFuture

4217 1 4K

在Spring Boot中有一个注释@Async,可以帮助开发人员开发并发应用程序。但使用此功能非常棘手。在本博客中,我们将了解如何将此功能与CompletableFuture一起使用。我认为你已经知.

Sirix.io是如何基于Vert.x和Kotlin协程构建异步RESTful API

2082 12K

Sirix是一个存储系统,它的核心是日志结构,读取可以是随机的,并且在事务提交期间将写入批处理并同步到磁盘。数据永远不会写回到同一个地方,因此不会就地修改,相反,Sirix在记录级别使用写时复制(CO.