我是靠谱客的博主 明亮短靴,最近开发中收集的这篇文章主要介绍java json socket_Java 使用Socket实现多线程发送 POST json 请求,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 请求所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部