zoukankan      html  css  js  c++  java
  • Java多线程实现性能测试

    1、创建多线程和线程池的代码:

    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.TimeUnit;
     
    int threadSize = 100;  //开启的线程数
    //创建线程池
    ExecutorService executorService = Executors.newFixedThreadPool(threadSize);
    long start = System.currentTimeMillis();
    //让线程池中的每一个线程都开始工作
    for (int j = 0; j < threadSize; j++) {
        //执行线程
        executorService.execute(new TestPerformance(threadSize));
    }
    //等线程全部执行完后关闭线程池
    executorService.shutdown();
    executorService.awaitTermination(Integer.MAX_VALUE, TimeUnit.DAYS);
    long end = System.currentTimeMillis();
    System.out.println("测试次数:" + TestPerformance.atomicInteger.get());
    System.out.println("用时:" + (end - start));
    System.out.println("速度:" + TestPerformance.atomicInteger.get() * 1000 / (end - start) + "次/秒");

    2、具体要测试性能的代码:

    package com.test.performance;
     
     
    import java.util.concurrent.atomic.AtomicInteger;
     
    /**
     * 测试性能.
     */
    public class TestPerformance implements Runnable {
     
        //每个线程的执行次数
        private int size;
     
        //记录多线程的总执行次数,保证高并发下的原子性
        public static AtomicInteger atomicInteger = new AtomicInteger(0);
     
        public TestPerformance(int size) {
            this.size = size;
        }
     
        @Override
        public void run() {
     
            int count = 0;
            while (count < size) {
                count++;
     
                atomicInteger.getAndIncrement();
     
                ///
            //在此写入需要测试性能的代码块
            ///
     
                System.out.println("线程ID与对应的执行次数:" + Thread.currentThread().getId() + "--->" + count);
            }
        }
    }

    转: https://blog.csdn.net/weixin_43192102/article/details/106195948

  • 相关阅读:
    数组的扩展搜集自无忧脚本
    C#简单模拟用户登录类
    C++ builder数据库连接大全
    童话故事下载地址
    如何对GridView行自动编号?
    document.execCommand() 用法说明
    兼容IE和FF的js脚本做法(比较常用)
    人民币数字转换成大写形式
    C# webBrowser 模拟登陆填充操作等(写网页注册机之类的时候要用到)
    拖动布局之保存布局页面
  • 原文地址:https://www.cnblogs.com/fps2tao/p/13920317.html
Copyright © 2011-2022 走看看