-1

我确实可以访问少数服务器,例如 A、B、C、D 和 E。我想以循环方式从这些服务器中逐一选择数据。我是 Java 和线程的新手,如果你能帮助我,那将是一个很大的帮助。

我想要做的是在我的应用程序中加载地图,我将 HTTP 请求发送到服务器。这些服务器以位图格式恢复响应,我排列这些图像(平铺)并将其显示在我的应用程序中,但我是按顺序进行的。例如,我首先请求服务器 A 获取图块,然后是服务器 B 等等。我希望以服务器 A 下载一个图像,服务器 B 下载另一个图像的方式获取图块。如果我单独使用一台服务器而不使用多线程来完成这一切,那么显示整个地图将需要很长时间。

4

2 回答 2

2

创建一个 url 构建器,它在数组中包含每个服务器的基本 url,并且还跟踪上次命中哪个服务器。下次需要数据时,只需返回下一个服务器的基本 url。

于 2012-08-18T07:02:19.993 回答
1

使用模查看示例:(使用字符串作为 url)

公共静态最终 int MAX_SERVER = 4;

public static void main(String[] args)
{

    String urlarr[] = new String[MAX_SERVER];
    init(urlarr);

    int idx = 0;
    while(idx < 1000){
        String next = urlarr[idx++%urlarr.length];
        System.out.println(next);
    }
}

private static void init(String[] urlarr)
{
    for(int i=0 ; i<urlarr.length ; i++){
        urlarr[i] = "url("+i+")";
    }

}

在这种情况下,使用 idx 上数组的模块大小使其遍历所有可用索引 0,1,2,3。部分输出:

url(0)
url(1)
url(2)
url(3)
url(0)
url(1)
url(2)
url(3)
于 2012-08-18T07:10:09.753 回答