用Java代码来做压测,关键点就在于要让所有的线程都就绪后才开始执行压测逻辑,可以借助countdownlatch来实现。
public class Test {
private static final int MAX_CONCURRENCY= 8;
private static final CountDownLatch COUNT_DOWN_LATCH = new CountDownLatch(1);
public static void main(String[] args) throws InterruptedException {
for (int i = 0; i < MAX_CONCURRENCY; i++) {
new Thread(() -> {
try {
COUNT_DOWN_LATCH.await();
//执行业务逻辑
} catch (InterruptedException e) {
e.printStackTrace();
}
}).start();
}
COUNT_DOWN_LATCH.countDown();
TimeUnit.SECONDS.sleep(100);
}
}