ScheduledThreadPoolExecutor是ThreadPoolExecutor的1个子类,能够按照按时的方式完java 并发成任务(而不是FIFO方式)。在java.util.Timer不是足够完善的情况下,ScheduleThreadPoolExecutor具有强大的可适用性。
Executors类有很多静态方法(表10)用于创建适用于各种常见情况的预先包装的ExecutorService和ScheduleExecutorService实例
ExecutorService最主要的实现类是ThreadPoolExecutor。这个实现类提供了大量的可配置特性:
线程池–设定常用线程数量(启动前可选参数)和最大可用线程数量。
线程工厂–通过自定义的线程工厂生成线程,例如生成自定义线程名的线程。
工作队列–指定队列的实现类,实现类必须是梗阻的、可以是无界的或有界的。
被拒绝的任务–当队列已经满了或者是执行者不可用,需要为这些情况指定解决议计划略。
生命周期中的钩子–重写扩展在任务运行之前或然后的生命周期中的要害点
关闭–停止已接受的任务,等候正在运行的任务完成后,关闭ThreadPoolExecutor。
方法描述
newSingleThreadExecutor: 创建只有1个线程的ExecutorService
newFixedThreadPool: 返回拥有固定命量线程的ExecutorService
newCachedThreadPool: 返回1个线程数量可变的ExecutorService
newSingleThreadScheduledExecutor:返回只有1个线程的ScheduledExecutorService
newScheduledThreadPool:创建拥有一组焦点线程的ScheduledExecutorService
ExecutorService几乎涵盖了所有应该创建线程对象或线程池的情景。在代码中需要直接创建1个线程的时候,可以思量通过Executor工厂创建的ExecutorService能否实现相同的目标;这样做经常更简单、更矫捷。
分享到:
相关推荐
Executors 部分提供了一些线程池类,例如 ThreadPoolExecutor、ScheduledThreadPoolExecutor 等,这些类可以帮助开发者管理线程池。 JUC 框架的类结构可以分为五个部分: * Lock 框架和 Tools 类 * Collections * ...
java线程类源码Java ScheduledThreadPoolExecutor演示 java.util.concurrent ScheduledThreadPoolExecutor作为java.util.Timer类的现代替代。
- 线程池:ExecutorService、ThreadPoolExecutor和ScheduledThreadPoolExecutor的使用。 5. **并发编程** - volatile关键字:理解其作用和使用场景。 - Atomic类:了解AtomicInteger、AtomicLong等原子类。 -...
- 线程池:ExecutorService,ThreadPoolExecutor,ScheduledThreadPoolExecutor的使用。 - 并发工具类:Semaphore,CyclicBarrier,CountDownLatch,FutureTask等。 6. **IO流** - 字节流与字符流:InputStream...
- 线程池:ExecutorService、ThreadPoolExecutor、ScheduledThreadPoolExecutor的配置与使用。 7. **IO流** - 字节流与字符流的区别。 - 转换流:InputStreamReader与OutputStreamWriter的作用。 - 缓冲流:...
- 线程池:使用ExecutorService、ThreadPoolExecutor和ScheduledThreadPoolExecutor。 8. **IO流**: - 字节流与字符流:FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等。 - 转换流:...
- 线程池:ExecutorService,ThreadPoolExecutor和ScheduledThreadPoolExecutor的使用。 7. **IO流**: - 流的分类:字节流和字符流,输入流和输出流。 - NIO(New IO):缓冲区,选择器,非阻塞IO等特性。 8. ...
- 线程池:ExecutorService、ThreadPoolExecutor和ScheduledThreadPoolExecutor的配置与使用。 5. **J2EE框架**: - Spring框架:IoC(控制反转)和AOP(面向切面编程)的核心概念,以及Bean的生命周期管理。 - ...
- 线程池:ExecutorService、ThreadPoolExecutor和ScheduledThreadPoolExecutor的配置与使用。 6. **输入/输出流** - 文件操作:File类的使用,文件的读写操作,以及文件流的概念。 - 字节流和字符流:...
- 线程池:ExecutorService、ThreadPoolExecutor和ScheduledThreadPoolExecutor的使用。 - 死锁:如何避免和检测死锁。 5. **异常处理**: - 异常分类:检查异常和运行时异常。 - try-catch-finally:异常捕获...
- 线程池:ExecutorService、ThreadPoolExecutor和ScheduledThreadPoolExecutor的理解与使用。 7. **IO流** - 流的分类:字节流和字符流,输入流和输出流。 - 文件操作:File类的使用,文件的读写操作。 - 缓冲...
3. 线程池:理解ExecutorService、ThreadPoolExecutor和ScheduledThreadPoolExecutor,优化线程管理。 六、IO流 1. 字节流与字符流:了解InputStream、OutputStream、Reader、Writer的基本操作。 2. 文件操作:掌握...
- 线程池:ExecutorService、ThreadPoolExecutor和ScheduledThreadPoolExecutor的理解和使用。 8. **网络编程** - Socket编程:客户端和服务端的建立连接,数据的发送与接收。 - URL和URLConnection:网络资源的...
- 线程池:ExecutorService、ThreadPoolExecutor、ScheduledThreadPoolExecutor的使用。 -并发工具类:Semaphore、CountDownLatch、CyclicBarrier、Exchanger的应用。 4. **内存管理与垃圾回收** - 内存模型:堆...
- 线程池:ExecutorService、ThreadPoolExecutor和ScheduledThreadPoolExecutor的使用与配置。 4. **内存模型与JVM** - Java内存模型(JMM):理解主内存、工作内存以及数据一致性问题。 - 类加载机制:了解类...
- 线程池:理解ExecutorService、ThreadPoolExecutor和ScheduledThreadPoolExecutor的使用。 4. **异常处理** - 异常分类:知道Checked异常和Unchecked异常的区别。 - try-catch-finally:理解异常捕获和处理的...
- 线程池:ExecutorService,ThreadPoolExecutor,ScheduledThreadPoolExecutor等。 7. **输入/输出流** - 字节流和字符流:InputStream、OutputStream、Reader、Writer及其子类。 - 文件操作:File类,...
- 线程池:ExecutorService、ThreadPoolExecutor和ScheduledThreadPoolExecutor的理解与应用。 7. **IO流** - 字节流与字符流:InputStream/OutputStream、Reader/Writer家族。 - 转换流:InputStreamReader/...
3. 线程池:掌握ExecutorService、ThreadPoolExecutor和ScheduledThreadPoolExecutor的使用。 六、I/O流 1. 流的概念:理解字节流和字符流的区别,以及流的读写操作。 2. 文件操作:熟悉File类的使用,进行文件的...
3. 线程池:理解ExecutorService、ThreadPoolExecutor和ScheduledThreadPoolExecutor的用法。 六、反射与注解 1. 反射:了解反射的基本原理,能够动态调用方法和获取类信息。 2. 注解:理解注解的使用,包括元...