我使用amazons s3网络服务将文件上传到s3。
每个文件大约需要1秒,有没有办法可以启动多个线程并行执行此操作?
假设我有一个执行上传调用的方法:
public void uploadToS3(string filename);
如何调出3个线程,每个线程都进行此调用?
答案 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的内容?