`

定时线程执行工具 : ScheduledThreadPoolExecutor

    博客分类:
  • Java
 
阅读更多
http://2710067471.iteye.com/blog/2106223
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.Date;


public class TestScheduledThreadPoolExecutor {
	
	public static void main(String[] args) {
		ScheduledThreadPoolExecutor exec=new ScheduledThreadPoolExecutor(1);
		
		exec.scheduleAtFixedRate(new Runnable(){//每隔一段时间就触发异常
			@Override
			public void run() {
				try
				{
					throw new Exception();	
				}
				catch (Exception e)
				{
					System.out.println("异常");
				}
				
			}}, 1000, 5000, TimeUnit.MILLISECONDS);
		
		exec.scheduleAtFixedRate(new Runnable(){//每隔一段时间打印系统时间,证明两者是互不影响的
			@Override
			public void run() {
				System.out.println(new Date().getTime());
			}}, 1000, 2000, TimeUnit.MILLISECONDS);
	}

}
分享到:
评论

相关推荐

    深入理解Java多线程核心知识:跳槽面试必备.docx

    在编写定时任务时,使用`ScheduledExecutorService`接口(如`ScheduledThreadPoolExecutor`)可以实现定时和周期性任务,它能保证线程池中至少有一个活动线程,适合那些要求持续运行的任务。 最后,volatile关键字...

    java 定时重启服务工具

    `java.util.Timer`和`java.util.TimerTask`类可以创建定时任务,但它们并不适合多线程环境,因为一个Timer只能运行一个线程,如果任务之间存在依赖,可能会导致任务执行顺序错误。 2. **ScheduledExecutorService**...

    Java线程 高级使用

    - **提高UI响应速度**:通过将耗时操作放在后台线程执行,可以让用户界面保持响应状态。 - **利用多处理器系统**:多核处理器可以同时处理多个线程,从而充分利用硬件资源。 - **简化建模**:多线程可以更好地...

    Java线程入门大全

    - **线程**是一种比进程更细粒度的执行单元,它允许在一个进程中并发执行多个任务。 - **多线程**能够提高程序的效率和响应速度,特别是在多核处理器环境下更为明显。 - **线程与进程的区别:** - 进程是操作...

    Spring 异步多线程动态任务处理的使用心得

    TaskExecutor可以是简单的ThreadPoolTaskExecutor,也可以是更高级的如ScheduledThreadPoolExecutor,用于定时任务。配置示例如下: ```java @Configuration @EnableAsync public class AsyncConfig { @Bean(name...

    SpringBoot中并发定时任务的实现、动态定时任务的实现(看这一篇就够了)推荐

    然而,Spring Task的默认实现是单线程执行的,这意味着所有任务会按照顺序执行,这可能导致执行效率不高,尤其是在有阻塞任务时,可能会影响其他任务的执行时间。例如,一个计划在每天12点执行的任务因为阻塞而延迟...

    java 多线程同步

    高级实用工具类是`java.util.concurrent`的核心,包括线程安全集合(如ConcurrentHashMap、CopyOnWriteArrayList等)、线程池(ExecutorService、ThreadPoolExecutor、ScheduledThreadPoolExecutor等)、信号...

    定时程序-java版

    `ScheduledThreadPoolExecutor`是`ScheduledExecutorService`的一个实现,可以创建一个线程池来执行定时任务。 8. **优缺点**:`Timer`简单易用,但当多个任务相互冲突时,其调度可能会出现问题。而`...

    多线程示例.rar

    Java的Executor框架提供了ThreadPoolExecutor、ScheduledThreadPoolExecutor等线程池实现,它们支持定时任务、限制并发数等功能。 总之,多线程编程是一门深奥且实用的技术,它涉及到并发控制、资源管理、线程同步...

    基于任务线程处理例子

    同时,`ScheduledThreadPoolExecutor`还可以定时或延迟执行任务。 代码示例中,可能会包含创建`ExecutorService`、创建任务(可能是`Runnable`或`Callable`)、提交任务到线程池、等待所有任务完成(使用`shutdown...

    Java多线程应用

    - **ScheduledThreadPoolExecutor** 提供定时及周期性任务执行的能力,可以安排延迟执行或定期执行任务。 - **CyclicBarrier** 是同步辅助类,允许多个线程等待彼此到达一个屏障点后一起继续执行(thread-t053-jdk...

    java并发工具包

    9. **ScheduledExecutorService**:提供了定时执行和周期性执行任务的能力,如`ScheduledThreadPoolExecutor`。 10. **原子类(AtomicXXX)**:如AtomicInteger、AtomicLong和AtomicReference等,它们提供了原子...

    Java自带定时任务ScheduledThreadPoolExecutor实现定时器和延时加载功能

    总的来说,`ScheduledThreadPoolExecutor`是Java中实现定时任务和延时加载的强大工具,具有高度的灵活性和控制力,是现代Java应用中的首选定时任务组件。合理利用它可以提升系统的自动化程度和效率。

    Java虚拟机并发编程

    - **ScheduledExecutorService**:允许定时或周期性执行任务,如ScheduledThreadPoolExecutor。 7. **并发设计模式** - **生产者消费者模型**:通过Buffer(队列)实现数据的生产和消费,避免了线程间的直接交互...

    java多线程并发编程例子

    4. **ScheduledThreadPoolExecutor**:这个类扩展了`ThreadPoolExecutor`,增加了定时和周期性执行任务的功能。`TestScheduledThread.java`可能包含了如何创建和使用`ScheduledThreadPoolExecutor`来调度延迟或定期...

    JAVA定时任务

    例如,研究`ScheduledThreadPoolExecutor`如何实现定时任务的调度,了解`Timer`内部的单线程模型,以及Quartz的作业和触发器是如何协同工作的。 7. **工具应用** 在实际开发中,我们常常会用到一些工具来帮助管理...

    JUC+课程源码+线程操作

    3. `CountDownLatch`:计数器门锁,初始化一个计数值,线程执行完成后调用`countDown()`方法,当计数值为0时,所有等待的线程可以继续执行。常用于多线程协作,比如主线程等待所有子线程完成后再继续。 4. `...

    java线程池使用说明[借鉴].pdf

    总的来说,Java线程池是实现并发和多线程编程的有效工具,它通过统一的线程管理策略和任务调度机制,提高了系统的并发性能和资源利用效率。开发者可以根据应用需求选择合适的线程池类型,或自定义线程池配置,以实现...

    java定时任务开源案例

    Java定时任务是软件开发中一个不可或缺的特性,它允许程序在特定时间执行预定的任务,而无需用户干预。在Java世界里,实现定时任务的方式多种多样,包括但不限于使用Java内置的`java.util.Timer`和`java.util....

    java队列实现

    此外,`ScheduledThreadPoolExecutor`则可以用于定时或周期性地执行任务。 总之,通过Java的并发库和队列数据结构,我们可以轻松实现对线程执行数量的控制,这对于高效管理和调度大量并发任务至关重要。理解和熟练...

Global site tag (gtag.js) - Google Analytics