我可以問一個菜鳥Java問題嗎?Java/Android:同步vs隊列實現
我正在從網上下載一些文件。這種方法下載(url位置)被多次調用。
public static void download(final String url) {
Thread t = new Thread("download") {
@Override
public void run() {
try {
synchronized (object) {
// download & save
}
} catch(Exception e) {}
}
};
t.start();
}
我添加了「同步」,以便下載一個接一個地發生。 (不是多次下載同時發生)。
即使download()被多次調用,synchronized也會阻塞其他線程直到第一個線程完成。
上面的代碼能工作嗎?還是我必須實現隊列?並一個接一個地出列?
可以同步塊「足夠」的線程? (30?50?)還是有限制?