import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class PressureTest {
private static String url = "http://192.168.0.109:8080/prms/send";
private static Integer error = 0;
private static Integer threads =630;
private static Long startTime;
public static void main(String[] args) {
WorkThread[] workThreads = new WorkThread[threads];
for(int i=0;i<threads;i++){
workThreads[i] = new WorkThread();
}
startTime = System.currentTimeMillis();
for(int i=0;i<threads;i++)
{
workThreads[i].start();
}
}
private static class WorkThread extends Thread{
@Override
public void run() {
long start = System.currentTimeMillis();
long end = 0;
// TODO Auto-generated method stub
try {
URL u = new URL(url);
HttpURLConnection urlConn = (HttpURLConnection) u.openConnection();
urlConn.setRequestProperty("Content-type", "text/html;charset=UTF-8");
urlConn.setUseCaches(false);
urlConn.setRequestMethod("POST");
urlConn.connect();
InputStream is =urlConn.getInputStream();
StringBuffer buffer = new StringBuffer();
read2Buffer(buffer, is);
end = System.currentTimeMillis();
System.out.println(buffer.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
synchronized(error){
error ++;
}
e.printStackTrace();
}
synchronized (threads) {
threads --;
System.out.printf("还有%d个未完成线程,用时%d毫秒\n",threads,(System.currentTimeMillis() - startTime));
if(threads == 0){
System.out.printf("总用时:%d毫秒\n", (System.currentTimeMillis() - startTime));
System.out.printf("连接失败:%d\n",error);
}
}
}
public void read2Buffer(StringBuffer buffer,InputStream is) throws IOException{
String line;
BufferedReader reader=new BufferedReader(new InputStreamReader(is));
line = reader.readLine();
while(line != null){
buffer.append(line);
buffer.append("\n");
line =reader.readLine();
}
}
}
}