创建多个线程以上传到s3

时间:2010-01-01 22:54:23

标签: java multithreading

我使用amazons s3网络服务将文件上传到s3。

每个文件大约需要1秒,有没有办法可以启动多个线程并行执行此操作?

假设我有一个执行上传调用的方法:

public void uploadToS3(string filename);

如何调出3个线程,每个线程都进行此调用?

2 个答案:

答案 0 :(得分:7)

将您的功能包裹在Runnable界面

public Runnable getS3UploadTask () {
   return new Runnable() {
       public void run() {
           uploadToS3();
       }
   };
}

然后,您可以创建尽可能多的线程来执行Runnable:

public void startS3Tasks(int workerCnt) {
    for(int i=0; i<workerCnt; i++) {
       new Thread(getS3UploadTask()).start();
    }
}

[编辑:当然,上述内容仅针对您的“如何”问题,可能与改进上传的目标完全无关;)]

答案 1 :(得分:2)

请阅读standard thread tutorial,或编辑您的问题以解释您需要了解的特定于s3的内容?