我使用amazons s3 web服務將文件上傳到s3。創建多個線程上傳到s3
每個文件大約需要1秒,是否有一種方法可以啓動多個線程並行執行此操作?
說我有,做上傳調用的方法:
公共無效uploadToS3(字符串文件名);
我該如何打電話給3個線程,每個線程都打這個電話?
我使用amazons s3 web服務將文件上傳到s3。創建多個線程上傳到s3
每個文件大約需要1秒,是否有一種方法可以啓動多個線程並行執行此操作?
說我有,做上傳調用的方法:
公共無效uploadToS3(字符串文件名);
我該如何打電話給3個線程,每個線程都打這個電話?
總結你的函數在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();
}
}
[編輯:,上面當然只是解決你的「如何」的問題,可能與改善上傳的目標完全不相關;)]
完美的是我想學習的感謝! – mrblah 2010-01-02 01:06:40
請閱讀standard thread tutorial或編輯您的問題以解釋您需要知道的特定於s3的內容?
如果每個文件只需要一秒,那麼可能是初始化開銷爲f或者與上傳時間相比,ftp連接非常高。爲什麼不嘗試批量處理所有文件(比如說壓縮文件)並上傳一次? – Chii 2010-01-01 23:22:57
是否使用HTTP,FTP或其他方式完全上傳? – skaffman 2010-01-01 23:43:33
其使用亞馬遜api的網絡服務電話 – mrblah 2010-01-02 01:05:09