2019-7-16 13:42作者: 来源:简书
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.0.2</version> <scope>test</scope> </dependency> |
@NotThreadSafe public class ConcurrencyTest { // 请求总数 public static int clientTotal = 5000; // 同时并发执行的线程数 public static int threadTotal = 200; public static int count = 0; public static void main(String[] args) throws Exception { ExecutorService executorService = Executors.newCachedThreadPool(); final Semaphore semaphore = new Semaphore(threadTotal); final CountDownLatch countDownLatch = new CountDownLatch(clientTotal); for (int i = 0; i < clientTotal ; i++) { executorService.execute(() -> { try { semaphore.acquire(); add(); semaphore.release(); } catch (Exception e) { System.out.println("exception:"+e); } countDownLatch.countDown(); }); } countDownLatch.await(); executorService.shutdown(); System.out.println("count:"+count); } private static void add() { count++; } } |
2019-7-16 14:14
2019-7-16 12:00
2019-7-15 17:19
2019-7-15 11:25
2019-7-15 11:22
2019-7-12 11:27