我可以问一个菜鸟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?)还是有限制?