0

我的问题是,因为我正在创建多个线程来向同一个 OutputStream 发送唯一请求,所以我只需要创建 1 个引用(或同步)的变量。我的教授没有介绍 URLConnections。

当我只运行 1 个线程时,它工作正常,但多个线程只为第一个产生输出。

非常感谢您的帮助。

==================================================== ========================

在 URLTest 的构造函数内部:

/*URL*/ link = new URL("url removed");
/*URLConnection*/ connect = link.openConnection();
connect.setDoOutput(true);

我在 URLTest 中执行这段代码:

for (int i = 0; i < 2; i++) {
    Thread t = new Thread(new ThreadTest());
    /*ArrayList<Thread>*/ a.add(t);
    t.start();
}

ThreadTest 中的 run() 实现 Runnable:

PrintWriter osw = new PrintWriter(connect.getOutputStream());
osw.write("query removed");
osw.close();
BufferedReader in = new BufferedReader(new InputStreamReader(
        connect.getInputStream()));

String s;
while ((s = in.readLine()) != null)
    System.out.println(s);
4

1 回答 1

0

问题是每次创建新线程时都必须实例化 URLConnection。

于 2012-12-09T18:31:37.283 回答