我可以问一个菜鸟 Java 问题吗?
我正在从网上下载一些文件。此方法下载(网址位置)被多次调用。
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?)还是有限制?