适用于S3的AWS开发工具包中的TransferManager是否正在执行异步I / O?

亚历山德鲁·内德尔库(Alexandru Nedelcu):

我一直在阅读Amazon的AWS开发工具包中的TransferManager来执行S3上传,所提供的API允许非阻塞使用,但是我不清楚底层实现是否实际执行异步I / O。

对TransferManager源代码进行了一些阅读,但无法理解所提供的线程ExecutorService是否被阻塞。

我的问题是,如果此管理器实际上执行异步I / O而不阻塞该执行程序,那么我可以使用应用程序的全局线程池,该线程池用于绑定CPU的东西。那么这实际上是在做异步I / O吗?

亚历山德鲁·内德尔库(Alexandru Nedelcu):

经过剖析并尝试理解SDK的源代码后,我得出的结论是,是的,TransferManager它不是异步工作的,因为它背负着AmazonS3Client.putObject此类调用,而不会阻塞线程本身,但会循环循环,直到发出HTTP请求为止完成,从而阻止了线程池队列的处理进度。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

适用于s3的AWS开发工具包v2

适用于Java的AWS开发工具包是否在安全通道中与S3服务器通信?

适用于.NET的AWS开发工具包是否在安全通道中与S3服务器通信?

适用于 PHP 的 AWS S3 开发工具包:如何从其 URL 获取对象键?

适用于PHP v3的AWS开发工具包中是否具有与NoSuchKeyException等效的功能?

适用于Java的AWS开发工具包版本2-删除S3“文件夹”或删除多个S3对象

AWS XRay 与适用于 NodeJS 的 AWS 开发工具包 v3

使用适用于Java 2.x的AWS开发工具包检查S3对象的元数据

使用适用于Node.js的AWS开发工具包将二进制文件上传到S3

使用适用于Node.js的AWS开发工具包有什么方法可以检查S3存储桶中路径的存在吗?

使用适用于节点的AWS开发工具包将S3资源设为只读公共状态吗?

如何使用适用于S3的AWS开发工具包修复JavaScript承诺?

为什么使用适用于JavaScript的AWS开发工具包列出S3存储桶文件夹中的对象会返回空的Contents数组,但KeyCount大于1?

如何使用适用于Node.js的AWS开发工具包将Amazon S3中的所有对象从一个前缀复制/移动到另一个

使用适用于Python的AWS开发工具包访问AWS Elastic Load Balancer

列出 AWS S3 开发工具包中的特定对象

Windows 10不能通过Composer使用适用于PHP v3的AWS开发工具包

适用于.NET的AWS开发工具包-IAmazonS3不包含'PutObject'的定义

适用于 PHP 的 AWS 开发工具包 - 致命错误问题

如何使用适用于Java 2.0的AWS开发工具包创建Lambda函数

适用于PHP的AWS开发工具包-解密密码

适用于.net的AWS开发工具包。如何设置PutObjectRequest文件名

适用于 Java 的 AWS 开发工具包入门

如何使用适用于Go的AWS开发工具包创建EMR集群

Proguard使用适用于Android的AWS开发工具包出错

适用于.NET的AWS开发工具包无法使用IIS访问凭据

适用于.NET的AWS开发工具包的API网关签名请求

适用于PHP的AWS开发工具包-如何获取文件的创建日期

适用于Android的AWS开发工具包:如何更改主机端点