Ale*_*lcu 11 java asynchronous amazon-s3 amazon-web-services asyncfileupload
我一直在亚马逊的AWS开发工具包中阅读有关TransferManager的上传,所提供的API允许非阻塞使用,但是我不清楚底层实现是否实际上是异步I/O.
我对TransferManager的源代码做了一些阅读,我无法理解提供的线程ExecutorService是否被阻止.
我的问题是,如果这个管理器实际上在没有阻塞执行器的情况下进行异步I/O,那么我可以使用应用程序的全局线程池,这是用于CPU绑定的东西.那么这实际上是在做异步I/O吗?
Ale*_*lcu 13
在分析并尝试理解SDK的源代码之后,我得出的结论是,TransferManager不能异步工作,因为它捎带AmazonS3Client.putObject和这样的调用,而不是阻塞线程本身,进入循环直到http请求是已完成,从而阻止了处理线程池队列的进度.