053.JAVA线程_定时器和线程组


博主的 Github 地址


1. 定时器

  • 在 JDK 的 java.util 包中, 提供了 Timer 类, 可以定时执行特定的任务.

  • 与每个 Timer 对象相对应的是单个后台线程, 用于顺序地执行所有计时器任务.

  • TimerTask 类表示定时器执行的某一任务.

1.1. Timer 类常用方法

1.1.1. Timer(boolean isDaemon) 构造器
  • 定义:
    public Timer(boolean isDaemon)

  • 作用:
    创建一个新计时器, 可以指定其相关线程作为后台线程执行.

1.1.2. schedule(TimerTask task, long delay) 方法
  • 定义:
    public void schedule(TimerTask task, long delay)

  • 作用:
    安排在指定延迟后执行指定的任务.

  • 参数:

    • task - 所要安排的任务;
    • delay - 执行任务前的延迟时间, 单位是毫秒.
1.1.3. schedule(TimerTask task, long delay, long period) 方法
  • 定义:
    public void schedule(TimerTask task, long delay, long period)

  • 作用:
    安排指定任务从指定的延迟后开始进行重复的固定延迟执行.
    以近似固定的时间间隔(由指定的周期分隔)进行后续执行.

  • 参数:

    • task - 所要安排的任务.
    • delay - 执行任务前的延迟时间, 单位是毫秒.
    • period - 执行各后续任务之间的时间间隔, 单位是毫秒.
1.1.4. cancel() 方法
  • 作用:
    终止此计时器, 丢弃所有当前已安排的任务.

1.2. TimerTask 类的方法

1.2.1. run() 方法
  • TimerTask 是抽象类, 因此需要自定义子类进行继承实现.
  • 只有一个抽象方法, 就是 run() 方法, 表示此计时器任务需要执行的操作.

2. 线程组

  • ThreadGroup 类表示线程组, 可以对一组线程进行集中管理;

  • 用户在创建线程对象时, 可以通过构造器指定其所属的线程组.
    new Thread(ThreadGroup group, String name);

  • 如果 A 线程创建了 B 线程, 如果没有设置 B 线程的分组,
    那么 B 线程就会加入到 A 线程的线程组当中.

  • 一旦线程加入某个线程组, 该线程就一直存在于该线程组中,
    直到线程死亡为止, 不能中途修改线程的分组.

  • 当 Java 程序运行时, JVM 会创建名为 main 的线程组,
    在默认情况下, 所有的线程都在该线程组下.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值