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