【发布时间】:2012-07-23 20:02:50
【问题描述】:
我可以问一个菜鸟 Java 问题吗?
我正在从网上下载一些文件。这个方法download(url location)被多次调用。
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() 被多次调用,同步会阻塞其他线程,直到第一个线程完成。
上面的代码可以工作吗?还是我必须实施队列?并逐个出队?
同步可以阻塞“足够”的线程吗? (30?50?)还是有限制?
【问题讨论】:
标签: java android synchronization queue synchronized