Java并发编程与高并发解决方案之并发容器(J.U.C)
11页1、 Java并发编程与高并发解决方案之并发容器(J.U.C) 一,并发容器 J.U.C1,CopyOnWriteArrayList源码通过加锁来实现安全性.2,CopyOnWriteArraySet3,ConcurrentSkipListSet4,ConcurrentHashMap5,ConcurrentSkipListMap二,AQS同步组件1,CountDownLatchSlf4j public class CountDownLatchExample1 private final static int threadCount = 200; public static void main(String args) throws Exception ExecutorService exec = Executors.newCachedThreadPool(); final CountDownLatch countDownLatch = new CountDownLatch(threadCount); for (int i = 0; i try test(threadNum); catch
2、(Exception e) log.error(exception, e); finally countDownLatch.countDown(); ); /countDownLatch.await(); countDownLatch.await(10, TimeUnit.MILLISECONDS);/等待多久就不再等待了 log.info(finish); exec.shutdown();/此方法不会立即终止线程运行,而是要等已开启的线程全部执行完关闭 private static void test(int threadNum) throws Exception Thread.sleep(100); log.info(, threadNum); Thread.sleep(100); 2,Semaphore,(信号量)控制并发的数量Slf4j public class SemaphoreExample1 private final static int threadCount = 20; public static void main(String args) throws Exce
3、ption ExecutorService exec = Executors.newCachedThreadPool(); final Semaphore semaphore = new Semaphore(3); for (int i = 0; i try semaphore.acquire(); / 获取一个许可 / semaphore.acquire(3); / 获取多个许可 test(threadNum); / semaphore.acquire(3); / 获取多个许可 semaphore.release(); / 释放一个许可 / if (semaphore.tryAcquire() / 尝试获取一个许可 / test(threadNum); / semaphore.release(); / 释放一个许可 / catch (Exception e) log.error(exception, e); ); exec.shutdown(); private static void test(int threadNum) throws Exception log.info(, t
4、hreadNum); Thread.sleep(1000); 源码:3,CyclicBarrierSlf4j public class CyclicBarrierExample2 private static CyclicBarrier barrier = new CyclicBarrier(5); public static void main(String args) throws Exception ExecutorService executor = Executors.newCachedThreadPool(); for (int i = 0; i try race(threadNum); catch (Exception e) log.error(exception, e); ); executor.shutdown(); private static void race(int threadNum) throws Exception Thread.sleep(1000); log.info( is ready, threadNum); try / barrier.awai
《Java并发编程与高并发解决方案之并发容器(J.U.C)》由会员ji****81分享,可在线阅读,更多相关《Java并发编程与高并发解决方案之并发容器(J.U.C)》请在金锄头文库上搜索。
药物合成优化-绿色环保新工艺
网络安全运营中心的技术和实践
环境教育与公众参与-第2篇分析
五金行业跨境电商与全球化发展
量化交易策略的执行算法优化
食品中营养成分的检测与评价
牛黄清火丸抗过敏性鼻炎作用与信号通路机制
新能源在航空航天领域的机遇
物联网企业信息系统定制开发的智能制造与工业0
纤维素纳米晶增强纺织材料的性能研究
污染物生态风险评估与防控技术
无人船在海洋经济中的应用
智慧城市与专业服务业产业融合发展策略研究
基于光子的量子信息处理研究
奥拉西坦治疗创伤后应激障碍的研究
四元组群表示理论及应用
农业品牌建设与营销策略研究
复杂网络中的结构筛选
高血压并发症健康教育干预效果
中药材仓储国际化与全球化发展
2022-03-24 12页
2022-03-24 11页
2022-03-24 10页
2022-03-24 25页
2022-03-24 13页
2022-03-24 18页
2022-03-24 10页
2022-03-24 32页
2022-03-24 8页
2022-03-24 9页