java多线程性能测试,Java:Java多线程实现性能测试

创建多线程和线程池

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) + "次/秒");

具体逻辑

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);

}

}

}

标签:Java,int,TestPerformance,System,util,线程,测试,多线程,size

来源: https://www.cnblogs.com/nhdlb/p/12968935.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值