main方法并发测试

public static void main(String[] args) throws Exception{
        RequestModel r = new RequestModel();
        r.setTimestamp("123");
        RequestModel model = new RequestModel();
        model.setIdentityCard("310103198802264029");
        model.setFamilyAddress("中国");
        long start = System.currentTimeMillis();
        try {
            int pagecount = 300;
            ExecutorService executors = Executors.newFixedThreadPool(pagecount);
            CountDownLatch countDownLatch = new CountDownLatch(pagecount);
            for (int i = 0; i < pagecount; i++) {
                String requestInfo = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
                        "<Agw direction=\"request\"><Head><Trade>829401</Trade><App>000001</App><Channel>EAPCM</Channel>"+
                        "</Head><Body><field name=\"user_no\">310103198802264029</field><field name=\"address\">中国Demo+"+i+"</field>"+
                        "<field name=\"channel\">01</field></Body></Agw>";
                // 启动线程抓取
                executors.execute(new GetRunnable(requestInfo, countDownLatch,i));
            }
            countDownLatch.await();
            executors.shutdown();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } finally {
            System.out.println("线程" + Thread.currentThread().getName() + "," + System.currentTimeMillis() + ", 所有线程已完成,开始进入下一步!");
        }

        long end = System.currentTimeMillis();
        System.out.println("consume -> " + (end - start));
    
    }
    
     static class GetRunnable implements Runnable {
            private CountDownLatch countDownLatch;
            private String requestInfo;
            private int cou;

            public GetRunnable(String requestInfo, CountDownLatch countDownLatch,int cou) {
                this.requestInfo = requestInfo;
                this.countDownLatch = countDownLatch;
                this.cou = cou;
            }

            @Override
            public void run() {
                try {
                    try {
                        System.out.println("++++++++++"+requestInfo+"+++++++++++");
                        System.out.println(sendSPDBData(requestInfo));
                        System.out.println("============"+cou+"=============");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                } finally {
                    countDownLatch.countDown();
                }
            }
        }

 

posted @ 2016-08-30 16:34  Earic  阅读(841)  评论(0编辑  收藏  举报