用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);
}
}
该博客介绍了如何使用Java的CountDownLatch工具类来协调多个线程,确保所有线程准备就绪后再一起开始执行压测逻辑。通过创建一个计数器为1的CountDownLatch,并在每个线程启动后调用await()方法等待,主线程则在所有线程启动后调用countDown(),从而在所有线程准备完毕后同时开始执行业务逻辑。
2113

被折叠的 条评论
为什么被折叠?



