不确定通过URLConnection与多线程请求同步的内容

时间:2012-12-07 18:58:54

标签: java multithreading outputstream urlconnection

我的问题是,因为我正在创建多个线程来向同一个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);

1 个答案:

答案 0 :(得分:0)

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