前言
开发也经常需要跑并发测试,要是每次需要开jmater/loadrunner那这样太麻烦了,这边简单记录一个单元测试,实际生产使用需要对这快在进行优化。
锁的差别
synchronized是互斥锁,每次只能有一个线程,semaphore也是同步锁维护的是一个许可集,调用acquire()获取一个许可,release()释放一个许可。
信号枪
countDownLatch 信号枪当countDown退到0时候就执行awit的方法。可以用于并发/主线城等待等方式上的使用。
单元测试
1 | @Test |