03 2024 档案
摘要:从 JDK 1.7 开始,引入了一种新的 Fork/Join 线程池框架,它可以把一个大任务拆成多个小任务并行执行,最后汇总执行结果。
阅读全文
摘要:在上篇文章中,我们介绍了Future相关的用法,使用它可以获取异步任务执行的返回值。我们再次回顾一下Future相关的用法。
阅读全文
摘要:在前几篇线程系列文章中,我们介绍了线程池的相关技术,任务执行类只需要实Runnable接口,然后交给线程池,就可以轻松的实现异步执行多个任务的目标,提升程序的执行效率,比如如下异步执行任务下载。
阅读全文
摘要:在之前的文章中,我们介绍了 ReentrantLock、ReadWriteLock、CountDownLatch、CyclicBarrier、Semaphore、ThreadPoolExecutor 等并发工具类的使用方式,它们在请求共享资源的时候,都能实现线程同步的效果。
阅读全文
摘要:在之前的多线程系列文章中,我们陆陆续续的介绍了Thread线程类相关的知识和用法,其实在Thread类上还有一层ThreadGroup类,也就是线程组。
阅读全文
摘要:在 Java 的java.util.concurrent包中,除了提供底层锁、并发同步等工具类以外,还提供了一组原子操作类,大多以Atomic开头,他们位于java.util.concurrent.atomic包下。
阅读全文
摘要:在前几篇文章中,我们讲到了线程、线程池、BlockingQueue 等核心组件,其实 JDK 给开发者还提供了比synchronized更加高级的线程同步组件,比如 CountDownLatch、CyclicBarrier、Semaphore、Exchanger 等并发工具类。
阅读全文
摘要:虽然 Java 对线程的创建、中断、等待、通知、销毁、同步等功能提供了很多的支持,但是从操作系统角度来说,频繁的创建线程和销毁线程,其实是需要大量的时间和资源的。
阅读全文
摘要:在 Java 的并发包里面还有一个非常重要的接口:BlockingQueue。
阅读全文
摘要:在 Java 多线程编程中,还有一个非常重要的设计模式,它就是:生产者和消费者模型。
阅读全文
摘要:为了进一步的提升程序并发执行效率,Java 8 引入了一个新的读写锁:StampedLock。
阅读全文