概述
import java.io.*;import java.net.*;importjava.nio.charset.StandardCharsets;import java.util.*;importjava.util.concurrent.ConcurrentHashMap;importjava.util.concurrent.CountDownLatch;importnet.minidev.json.JSONObject;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;public classPostSender {private static final Logger log = LoggerFactory.getLogger(PostSender.class);final String targetHost = "127.0.0.1";final String requestUrl = "/kill/kill/execute/unlock";final int portBegin = 21000;final int threadNum = 10000;public voidthreadTest() {
CountDownLatch cdLatch= newCountDownLatch(threadNum);
Map responseTimeMap = new ConcurrentHashMap<>();long start =System.currentTimeMillis();for (int i = 1; i <= threadNum; i++) {
Thread thread= new Thread(newMyRunnable(i, responseTimeMap, cdLatch));
thread.start();
}try{
cdLatch.await();
}catch(InterruptedException e) {
e.printStackTrace();
}long end =System.currentTimeMillis();//System.out.println("nall response time:");
double timesum = 0.0;for(Integer uid :
responseTimeMap.keySet()) {double time =responseTimeMap.get(uid);
timesum+=time;//System.out.printf("%.0fn", time);
}
Double avgTime= timesum /responseTimeMap.keySet().size();
System.out.println("ntotal time: " + (end -start));
System.out.println("successful connection: " +responseTimeMap.size());
System.out.printf("avg response time: %.0fn", avgTime);
}public static voidmain(String[] args) {
PostSender ps= newPostSender();
ps.threadTest();
}class MyRunnable implementsRunnable {private final intuserId;private final MaptimeMap;private finalCountDownLatch latch;public MyRunnable(int userId, MaptimeMap, CountDownLatch cdLatch) {this.userId =userId;this.timeMap =timeMap;this.latch =cdLatch;
}
@Overridepublic voidrun() {
socketPostRaw();
latch.countDown();
}public voidsocketPostRaw() {try (Socket socket = new Socket(InetAddress.getLocalHost(), 8092); // Socket socket = new Socket(InetAddress.getLocalHost(), 8092, InetAddress.getLocalHost(), portBegin + userId);
最后
以上就是明亮短靴为你收集整理的java json socket_Java 使用Socket实现多线程发送 POST json 请求的全部内容,希望文章能够帮你解决java json socket_Java 使用Socket实现多线程发送 POST json 请求所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复