zoukankan      html  css  js  c++  java
  • Timer和TimerTask的用法

    最近在做java课程设计的时候,我用到了timer,于是学习了一下timer的用法。

    java实现多线程比较常用的两种方法,一种是直接继承Thread类,另一种则是实现Runnable接口。Timer也可以实现多线程,它需要和TimerTask搭配使用,TimerTask是实现了Runnable接口的抽象类。

    下面是timer的一些用法

    public void schedule(TimerTask task ,long delay)

    这个方法是调度一个task,经过delay(ms)后开始进行调度,仅仅调度一次。

    public void schedule(TimerTask task, Date time)

    在指定的时间点time上调度一次。

    public void schedule(TimerTask task, long delay, long period)

    这个方法是调度一个task,在delay(ms)后开始调度,每次调度完后,最少等待period(ms)后才开始调度。

    1
    public void schedule(TimerTask task, Date firstTime, long period)

    和上一个方法类似,唯一的区别就是传入的第二个参数为第一次调度的时间。

    1
    public void scheduleAtFixedRate(TimerTask task, long delay, long period)

     一个Timer可以调度任意多个TimerTask,它会将TimerTask存储在一个队列中,顺序调度,如果想两个TimerTask并发执行,则需要创建两个Timer。

  • 相关阅读:
    81. Search in Rotated Sorted Array II (Array; Divide-and-Conquer)
    LeetCode Word Ladder
    LeetCode Word Search II
    LeetCode Invert Binary Tree
    LeetCode Implement Stack using Queues
    Bash:字符串操作
    LeetCode Basic Calculator
    LeetCode Rectangle Area
    Java 远程调试
    LeetCode Count Complete Tree Nodes
  • 原文地址:https://www.cnblogs.com/zyb993963526/p/6178022.html
Copyright © 2011-2022 走看看