`

java 多线程里的timer

 
阅读更多

Timer 这个类的作用就是定时启动一个线程来执行任务,一个timer也可以执行多个任务(调用schedule 或 scheduleAtFixedRate)schedule  里面第一个参数是timerTask类的实例,该类实现了Runnable接口。

第二个参数是延迟多少毫秒执行,也可以是一个Date的实例,就是具体某个时间,第三个参数就是可选的,就是每隔多久循环执行一次。scheduleAtFixedRate这个是jdk1.5之后才有的,他对执行频率更加精确,比如我设置了第三个参数是每隔4秒执行一次的,如果有一次它某些原因相隔5才秒执行了,那么再下次就是相隔3秒再执行一次,这样执行频率就比较精确了。

class TimerTest extends TimerTask{
			private int i = 0;
			public TimerTest(int i){
				this.i = i;
			}
			@Override
			public void run() {
				i = (i+1) % 2;
				System.out.println("bobing~~");
				new Timer().schedule(new TimerTest(i),2000+(2000*i));
			}
		}
		
		new Timer().schedule(new TimerTest(0),2000);
		
		while(true){
			System.out.println(new Date().getSeconds());
			Thread.sleep(1000);
		}

 

上面这个例子就是演示如何重复执行一个任务,但是每次间隔的时间都不一样,自己控制。

分享到:
评论

相关推荐

    Java多线程机制(讲述java里面与多线程有关的函数)

    Java多线程机制是Java编程中至关重要的一部分,它允许程序同时执行多个任务,提升应用程序的效率和响应性。以下是对各个知识点的详细说明: 9.1 Java中的线程: Java程序中的线程是在操作系统级别的线程基础上进行...

    java多线程进度条实例

    在Java编程中,多线程是一项关键特性,它允许程序同时执行多个任务,极大地提高了效率。本实例将探讨如何利用Java实现一个具有进度条显示功能的多线程应用。进度条通常用于可视化地表示某个任务的完成程度,这对于长...

    java多线程和定时器学习

    Java多线程与定时器是Java编程中两个重要的概念,它们在构建高性能、高并发的应用程序中发挥着关键作用。本文将深入探讨这两个主题,并结合实际的代码示例进行讲解。 首先,我们来理解Java多线程。多线程允许一个...

    JAVA多线程的一个带UI界面的例子

    在Java编程中,多线程是一项关键特性,...总之,这个"JAVA多线程的一个带UI界面的例子"涵盖了Java多线程编程和GUI设计的核心概念,通过实际的代码示例,有助于开发者深入理解如何在实际应用中正确、高效地使用多线程。

    java 多线程制作动画

    总的来说,Java多线程技术在制作动画时起着至关重要的作用,它能帮助我们实现动态、流畅的视觉效果。通过巧妙地运用线程同步、定时器以及图形绘制API,可以构建出复杂且引人入胜的动画应用程序。在实际项目中,还...

    Java多线程断点下载Sample

    Java多线程技术是编程领域中的重要概念,尤其在处理大量数据或实现高效并发操作时显得尤为关键。在这个“Java多线程断点下载Sample”示例中,我们将深入探讨如何利用Java的多线程特性来实现文件的断点续传下载,并...

    Java多线程定时器Timer原理及实现

    Java多线程定时器Timer原理及实现 Java多线程定时器Timer原理及实现是Java应用中非常重要的一部分,涉及Timer的schedule的使用,定时器Timer的schedule等相关内容,以及代码示例。 Timer对象在内部使用多线程方式...

    java多线程和网络编程结合

    Java多线程与网络编程是两个重要的编程领域,它们在构建高效、响应迅速的应用程序时起着关键作用。在这个特定的项目中,开发者利用Java的多线程特性以及Socket编程来实现一个网络服务,该服务每十分钟会执行一次任务...

    java 多线程编程 月食效果

    1. **Java多线程**:Java通过`Thread`类和`Runnable`接口提供了对多线程的支持。在这个项目中,可能有两个线程分别控制两个圆形——代表月亮和地球,这两个线程并行运行,以实现同时移动和交互的效果。使用`start()`...

    深入浅出Java多线程.pdf

    ### 深入浅出Java多线程.pdf #### 知识点概览 本PDF文档涉及了Java多线程的全面介绍,分为基础篇、原理篇和JDK工具篇三个部分,旨在帮助读者深入了解Java多线程的概念、原理及实践应用。 #### 基础篇 **1. 进程...

    java多线程编程_java多线程_

    1.讲解了Java多线程的基础, 包括Thread类的核心API的使用。2.讲解了在多线程中对并发访问的控制, 主要就是synchronized的使用, 由于此关键字在使用上非常灵活, 所以书中用了很多案例来介绍此关键字的使用, 为...

    java多线程实验报告.doc

    Java多线程实验报告 本实验报告的主要内容是关于Java多线程编程的实验报告,涵盖了多线程的基本概念、线程的创建和管理、线程同步和通信等方面。通过实验,我们可以了解Java多线程编程的基础知识,并掌握多线程编程...

    Java多线程技术

    Java多线程技术是Java编程语言中的一个重要部分,它允许程序员创建多个线程来执行多个任务,这样可以有效地利用系统资源,提高程序的执行效率。在Java中,多线程的实现主要有两种方式:一种是继承Thread类,另一种是...

    java.util.timer实现的简单定时任务

    需要注意的是,`Timer`并不是线程安全的,如果你在一个多线程环境中使用同一个Timer实例来调度任务,可能会遇到意想不到的问题。此外,当主线程结束时,Timer线程可能不会立即停止,导致程序退出前仍有未执行完的...

    java弹球小游戏,多线程

    下面将详细探讨Java多线程在弹球游戏中如何应用以及相关知识点。 首先,我们要理解Java中的线程。线程是程序执行的最小单位,一个进程可以有多个线程。在Java中,可以通过继承Thread类或实现Runnable接口来创建线程...

    java多线程模拟时钟显示

    在这个特定的项目“java多线程模拟时钟显示”中,开发者利用Java的多线程技术来创建一个模拟传统时钟的程序,时钟会实时地显示时针、分针和秒针的位置。下面我们将深入探讨如何实现这样的功能以及涉及的关键知识点。...

    Java多线程赛马游戏

    【Java多线程赛马游戏】是一个通过Java编程语言实现的互动小游戏,它巧妙地结合了多线程技术和Swing图形用户界面库。这个项目旨在展示如何在Java中创建并发执行的任务,模拟赛马比赛的过程,并提供用户友好的图形...

    java多媒体与多线程处理实验

    ### Java多媒体与多线程...通过本次实验,学生不仅掌握了Java多线程编程的基础知识,还学会了如何利用多线程优化程序性能,特别是在多媒体应用领域,如动画、音视频处理等,为后续更复杂的应用开发奠定了坚实的基础。

    Java多线程编程要点

    Java多线程编程是开发高并发应用的关键技术之一,它涉及到多个核心概念和方法。本文主要探讨了四个关键要点:Thread和Runnable的认识、Thread的start和run方法的区别、线程状态的说明以及Timer和TimerTask的使用。 ...

    java5定时器java Timer

    它在多线程环境中提供了一种高效且灵活的方式来安排任务在未来某个时间点或定期执行。这个类是Java早期版本中对定时任务管理的一个重要实现,尽管在Java 5之后,`java.util.concurrent`包中的`...

Global site tag (gtag.js) - Google Analytics