并发编程经常需要用到的,包含了一些可以拓展的轻量级框架
Executors
接口:Executor 提供了一个任务提交,执行的异步多线程处理框架,包括线程池,异步I/O,轻量级异步框架。 ExecutorService 提供了一个更加完整的异步任务执行框架,一个 ExecutorService管理着队列和计划任务,并且允许自主控制的关闭任务;ScheduledExecutorService和相关联的接口支持延时任务和周期任务执行; Future提供了任务执行结果返回的功能,并且提供了取消任务方式。
实现类: ThreadPoolExecutor 和 ScheduledThreadPoolExecutor提供了可调的灵活的线程池,Executors 对常见的配置和类型提供了工厂方法和一些经常使用的方法,另一些基于Executors 的类包括 FutureTask提供了一些可拓展的 Future,ExecutorCompletionService协助处理异步任务。 ForkJoinPool提供了对 ForkJoinTask和它子类的主要设计,这些类对计算密集型的并行处理提高了吞吐量。
Queues
ConcurrentLinkedQueue 提供了有效率的线程安全的,不阻塞的先进先出队列
LinkedBlockingQueue, ArrayBlockingQueue, SynchronousQueue, PriorityBlockingQueue, and DelayQueue提供了这5种队列,涵盖了通用的场景:生产者-消费者,消息,并行处理,以及相关的并行设计。
TransferQueue, LinkedTransferQueue提供了同步的传输方法。
BlockingDeque LinkedBlockingDeque支持 FIFO 和LIFO操作。
Timing
TimeUnit提供了多种粒度(包含纳秒)的具体和超时时间控制的业务
Synchronizers
Semaphore一个典型的并发编程工具
CountDownLatch是一个非常简单但非常普遍实用,对阻塞来说直到一定数量的信号,事件,或条件持有情况
CyclicBarrier是多路同步点有用的一些样式的并行编程
Phaser 提供了一个更灵活的栅栏,可以用来控制分段计算多个线程。
Exchanger允许2个线程交换对象,在管道设计时十分有用
Concurrent Collections
ConcurrentHashMap通常被用于线程安全的HashMap, ConcurrentSkipListMap通常被用于线程安全的TreeMap, ConcurrentSkipListSet, CopyOnWriteArrayList通常被用于线程安全的ArrayList , and CopyOnWriteArraySet
Memory Consistency Properties
happen-before 原则
分享到:
相关推荐
JDK并发包(java.util.concurrent)提供了丰富的工具和类,使得开发人员能够有效地管理和控制并发执行的任务。本章将深入探讨如何使用JDK并发包来构建程序。 **3.1 java.util.concurrent概述** `java.util....
JAR 包的概述 JAR 文件是 Java 应用程序的标准压缩文件格式,用于将多个文件组合成一个文件,以便于项目的部署和使用。JAR 文件可以包含类、图片、配置文件等多种类型的文件。 JAR 包的作用 JAR 文件的主要作用是...
除此之外,Java的并发包`java.util.concurrent`提供了更高级的线程同步工具,如Semaphore(信号量)用于控制同时访问特定资源的线程数量,CyclicBarrier(循环屏障)允许一组线程等待彼此到达某个点后再继续执行,...
深入探讨了Java并发包中的高级工具,如`ExecutorService`、`CountDownLatch`等,并通过实例演示了如何利用这些工具解决并发问题。 #### 脚本引擎API 讲解了Java脚本引擎API的使用方法,包括如何加载和执行动态脚本...
- **并发编程**:并发与并行的区别、Java并发包的使用。 - **设计模式**:观察者模式、策略模式等设计模式的应用实例。 - **I/O与NIO**:传统I/O与NIO的区别及应用场景。 - **网络编程**:TCP/IP协议栈详解、Socket...
13. **并发工具类**:Java并发包(java.util.concurrent)包含了很多高级并发工具,如ExecutorService、Semaphore、CountDownLatch等。 14. **国际化**:Java提供了Locale和ResourceBundle类,支持多语言环境下的...
6. **多线程**:Java提供了丰富的多线程支持,包括Thread类、Runnable接口和并发包(java.util.concurrent)。学习如何创建和管理线程,以及同步机制(如synchronized关键字、锁对象和wait/notify机制)是多线程编程...
- **并发工具类**:Java并发包(`java.util.concurrent`)提供了大量工具类,如`Future`、`Callable`等,用于处理异步计算结果;`AtomicInteger`、`AtomicLong`等原子类用于实现高效的线程安全的整数操作;`...
除了线程和同步机制,Java并发包(java.util.concurrent)还提供了一些并发工具类,例如CountDownLatch、CyclicBarrier、Semaphore等,这些工具类可以帮助开发者实现复杂的线程协调机制,简化并发程序的设计。...
Java并发包中的Executor框架是处理线程的核心,它包括ExecutorService、Executors、ThreadPoolExecutor等类,可以帮助我们更好地管理线程池。 - **ExecutorService**:用于执行任务的服务接口。 - **Executors**:...
3. **第三章:并发工具类** - 本章可能会详细介绍Java并发包(java.util.concurrent)中的工具类,如ExecutorService、Future、Callable、Semaphore、CyclicBarrier、CountDownLatch等,这些工具极大地简化了并发...
Doug Lea是纽约州立大学奥斯威戈分校的一名教授,同时也是Java并发包(java.util.concurrent)的主要贡献者之一。本次演讲深入探讨了可扩展网络服务的设计、事件驱动处理以及反应器模式等内容,并通过实例讲解了Java...
10. **并发工具**:Java并发包(java.util.concurrent)提供了许多高级并发工具,如ExecutorService、Semaphore、CountDownLatch等,用于构建高性能并发程序。 11. **JavaBeans和事件模型**:JavaBeans规范定义了一...
7. **并发集合**: Java并发包`java.util.concurrent`提供了多种线程安全的集合类,如`ConcurrentHashMap`、`CopyOnWriteArrayList`等。 - `ConcurrentHashMap`是一种高性能的线程安全散列表,它通过分割技术来减少...
Java并发包`java.util.concurrent`提供了许多高级工具类来帮助开发者更好地管理并发任务,如`ExecutorService`、`Future`、`Semaphore`、`CountDownLatch`等。这些工具类极大地简化了并发编程的难度,并提高了程序的...