java并发测试帮助方法
Posted 骨头
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java并发测试帮助方法相关的知识,希望对你有一定的参考价值。
public class SimulateHighConcurrency {
public static void run(int num, Consumer<Thread> action) {
Objects.requireNonNull(action);
CountDownLatch countDownLatch = new CountDownLatch(1);
for (int i = 0; i < num; i++) {
new Thread(() -> {
try {
action.accept(Thread.currentThread());
countDownLatch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
}).start();
}
//线程创建完成之后同时启动
countDownLatch.countDown();
}
public static void main(String[] args) throws InterruptedException {
CountDownLatch doneSignal = new CountDownLatch(2000);
SimulateHighConcurrency.run(2000, (t) -> {
System.out.println(t.getName());
doneSignal.countDown();
});
doneSignal.await();
System.out.println("done");
}
}
以上是关于java并发测试帮助方法的主要内容,如果未能解决你的问题,请参考以下文章
深入了解Java并发——《Java Concurrency in Practice》12.并发程序的测试
别再写代码测试并发了,太 Low!模拟并发的 4 种方法,还有谁不会??