繁体   English   中英

如何以及何时在AWS SES Java SDK中使用``异步''

[英]How and When To Use 'Async' in AWS SES Java SDK

我只是在玩AWS Java SDK中的SES包来发送电子邮件。 而且我意识到存在[AmazonSimpleEmailServiceAsyncClient][1] ,它带有许多带有Async标签的方法。

我很好奇我们何时必须使用它,为什么以及如何使用它。 我一直在环顾四周,但是没有足够的资源。 片段的一些概念性解释会很好。

这些异步方法可用于适用于JavaAWS开发工具包中的大多数/所有服务并且由于异步编程附加的复杂性较高,因此通常在上手时不使用,而仅在特定用例建议或要求使用时才使用(因此,此答案解决了您的问题仅从概念角度出发,并不特定于Amazon SES )。

您可以在Jason Fulghum的最新博客文章《 AWS SDK for Java异步请求》中找到很好的解释:

当您使用SDK中的标准同步客户端之一调用操作时,SDK发送请求,等待服务处理该请求并解析响应时,代码将被阻止。 这是使用SDK的一种简便方法 ,但是在某些情况下,您只想启动请求并让您的代码继续执行。 SDK中的异步客户端使您可以做到这一点。 开始您的请求,然后稍后再查看以查看它们是否完成。 [强调我的]

Jason还解释了在后台处理请求有意义的两个最常见的用例:

  1. 用户界面响应能力 -UI应用程序非常适合异步客户端,因为在SDK处理请求时,您不想锁定主UI线程,因此也不想锁定整个UI。 网络问题可能导致更长的处理时间,而UI响应迟钝会导致客户不满意。
  2. 批处理 - 异步客户端的另一个重要用途是当您要启动大量请求时。 如果不需要串行执行请求,则可以通过使用异步客户端启动许多请求(从单个线程开始)来在应用程序中获得大量吞吐量。

Jason的帖子还链接到他有关主题的较早的文章,该文章描述了使用Java的AWS开发工具包进行请求的各种同步和异步方法,并以一些其他信息作为结尾,以帮助您成功使用异步功能 ,请参阅“ 异步”。使用适用于Java的AWS开发工具包进行编程 (否则,大多数相同的代码示例也包含异常处理)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM