CountDownLatch模拟高并发测试代码

Posted 一心行走

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CountDownLatch模拟高并发测试代码相关的知识,希望对你有一定的参考价值。

直接上代码进行验证吧

/**
 * 通过countdownlatch的机制,来实现并发运行
 * 模拟200个并发测试
* @author ll
* @date 2018年4月18日 下午3:55:59
 */
public class CountDownLatchTest {
    
    private static final int threadnum = 200;
    
    public CountDownLatch cd = new CountDownLatch(threadnum);
      
    @Test
    public void TestCountDownlatch() throws InterruptedException{
        for (int i = 0; i < threadnum; i++) {
            new Thread(new Request()).start();
            cd.countDown();
        }
        /*
         * 在多线程编程中,Thread.CurrentThread 表示获取当前正在运行的线程,join方法是阻塞当前调用线程,
         * 直到某线程完全执行才调用线程才继续执行,
         * 如果获取的当前线程是主线程,调用Join方法,阻塞主线程
         */
        Thread.currentThread().join();
        
    }
    
    class Request implements Runnable{
        
        @Override
        public void run() {
            try {
                cd.await();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
           System.out.println(Thread.currentThread()+"get one,"+System.currentTimeMillis());
        }
        
    }
    
}

 

以上是关于CountDownLatch模拟高并发测试代码的主要内容,如果未能解决你的问题,请参考以下文章

使用CountDownLatch模拟线程并发执行代码

使用CountDownLatch模拟高并发场景

java高并发测试代码

CountDownLatch和CyclicBarrier模拟同时并发请求

CountDownLatch和CyclicBarrier模拟同时并发请求

CountDownLatch和CyclicBarrier模拟同时并发请求