AWS S3 SDK - 如何设置线程池大小?
AWS S3 SDK - how do I set thread pool size?
我正在尝试为 S3 分段上传设置线程池大小以控制并行上传的数量。
根据此 AWS 博客页面 - https://aws.amazon.com/blogs/developer/parallelizing-large-uploads-for-speed-and-reliability/ 我需要将 Executors.newFixedThreadPool(n)
传递给 TransferManager
,但我找不到对 TransferManagerBuilder
执行相同操作的方法。
我们有 TransferManagerBuilder.standard().withExecutorFactory()
接受 ExecutyorFactory
但它没有实现。
如何使用 TransferManagerBuilder
指定线程池大小?
JavaDoc and GitHub 表明有一种方法 TransferManagerBuilder#withExecutorFactory
采用 ExecutorFactory
,并在构建器上设置它的实现。
确保您在构建器上调用了 build
方法,这应该 return 您是 TransferManager
.
的一个实例
final TransferManager tm = TransferManagerBuilder
.standard()
.withExecutorFactory(() -> Executors.newFixedThreadPool(numThreads))
.build();
我正在尝试为 S3 分段上传设置线程池大小以控制并行上传的数量。
根据此 AWS 博客页面 - https://aws.amazon.com/blogs/developer/parallelizing-large-uploads-for-speed-and-reliability/ 我需要将 Executors.newFixedThreadPool(n)
传递给 TransferManager
,但我找不到对 TransferManagerBuilder
执行相同操作的方法。
我们有 TransferManagerBuilder.standard().withExecutorFactory()
接受 ExecutyorFactory
但它没有实现。
如何使用 TransferManagerBuilder
指定线程池大小?
JavaDoc and GitHub 表明有一种方法 TransferManagerBuilder#withExecutorFactory
采用 ExecutorFactory
,并在构建器上设置它的实现。
确保您在构建器上调用了 build
方法,这应该 return 您是 TransferManager
.
final TransferManager tm = TransferManagerBuilder
.standard()
.withExecutorFactory(() -> Executors.newFixedThreadPool(numThreads))
.build();