《JAVA并发编程核心方法与框架》一书主要介绍非常核心并常用的技术点,比如解决高并发环境下的线程间同步问题,可以使用Semaphore,CountDownLatch,CyclicBarrier以及Phaser类来解决,还要掌握线程池ThreadPoolExecutor的使用,还有线程池结合计划任务ScheduledExecutorService接口的使用,Future接口的使用,CompletionService异步任务的使用,ExecutorService工具接口的使用,Fork-Join分治编程的学习和Java技术中使用率比较高的并发集合框架。
内容提要
《Java多线程编程核心技术》全程案例式讲解,全面介绍Java并发包相关的技术。以浅白的措辞,结合大量实例模拟实际应用场景,全面解析Java并发包中的核心类、API与并发框架的使用。
全书共10章。
第1章讲解了线程间的同步性,以及线程间的传输数据控制,即Semaphore和Exchanger类的使用。
第2章介绍了在同步处理上更加灵活的工具类CountDownLatch和CyclicBarrier,详细到每个类的API的具体使用与应用场景。
第3章是第2章的升级,由于CountDownLatch和CyclicBarrier类都有相应的弊端,所以在JDK 1.7中新增加了Phaser类来解决这些缺点,该类是熟练掌握JDK并发包的必要知识点。
第4章是读者应重点掌握的Executor接口与ThreadPoolExecutor线程池,能有效地提高程序运行效率,更好地统筹线程执行的相关任务。
第5章讲解Future和Callable的使用,解决线程需要返回值的情况。
第6章介绍Java并发包中的CompletionService的使用,因为可以以异步的方式获得任务执行的结果,所以该接口可以增强程序运行效率。
第7章介绍接口ExecutorService,该接口提供了若干工具方法来方便执行并发业务。
第8章主要介绍ScheduledExecutorService的使用,以掌握如何将计划任务与线程池结合使用。
第9章主要介绍Fork-Join分治编程,以提升多核CPU的优势,加快程序运行效率。
第10章主要介绍并发集合框架,利用好并发框架,事半功倍。
目录
前言
第1章 Semaphore和Exchanger的使用 1
1.1 Semaphore的使用 2
1.1.1 类Semaphore的同步性 2
1.1.2 类Semaphore构造方法permits参数作用 4
1.1.3 方法acquire(int permits)参数作用及动态添加permits许可数量 5
1.1.4 方法acquireUninterruptibly()的使用 8
1.1.5 方法availablePermits()和drainPermits() 10
1.1.6 方法getQueueLength()和hasQueuedThreads() 12
1.1.7 公平与非公平信号量的测试 13
1.1.8 方法tryAcquire()的使用 15
1.1.9 方法tryAcquire(int permits)的使用 17
1.1.10 方法tryAcquire(long timeout, TimeUnit unit)的使用 17
1.1.11 方法tryAcquire(int permits, long timeout, TimeUnit unit)的使用 19
1.1.12 多进路-多处理-多出路实验 20
1.1.13 多进路-单处理-多出路实验 21
1.1.14 使用Semaphore创建字符串池 23
1.1.15 使用Semaphore实现多生产者/多消费者模式 25
1.2 Exchanger的使用 31
1.2.1 方法exchange()阻塞的特性 31
1.2.2 方法exchange()传递数据 32
1.2.3 方法exchange(V x, long timeout, TimeUnit unit)与超时 34
1.3 本章总结 35
第2章 CountDownLatch和CyclicBarrier的使用 36
2.1 CountDownLatch的使用 36
2.1.1 初步使用 37
2.1.2 裁判在等全部的运动员到来 38
2.1.3 各就各位准备比赛 39
此处省略N多目录内容...