zoukankan      html  css  js  c++  java
  • 多线程 Time和TimeTask组合

        Timer和TimerTask类,是多线程的一种形式,使用的包是java.util.在这种实现方式中,Timer类实现的是类似闹钟的功能,也就是定时或者每隔一定时间触发一次线程。其实,Timer类本身实现的就是一个线程,只是这个线程是用来实现调用其他线程的。而TimerTask类是一个抽象类,该类实现了Runnable接口,所以该类具有多线程的能力。

         在这种实现方式中,通过继承TimerTask是该类获得多线程的能力,将需要多线程执行的代码写在run方法内部,然后通过Timer可以启动线程的执行。

         下面的实例中,用MyTimerTask类实现了多线程。首先启动线程时需要首先创建一个Timer类的对象,以及一个MyTimerTask线程类的对象,然后使用Timer对象的schedule方法实现。启动县城的代码如下:

       //创建Timer

       Timer t = new Timer();

       //创建MyTimerTask

       MyTimerTask mtt = new MyTimerTask("线程1:");

      //启动线程

       t.schedule(mmt,0);

    其中schedule方法中的第一个参数mmt代表需要启动的线程对象,而第二个参数0则代表延迟0ms启动线程,也就是立即启动。

    代码示例如下:

    import java.util.*;

    public class MyTimerTaskTest {
     public static void main(String[] args){
      Timer t = new Timer();
      MyTimerTask mtt = new MyTimerTask("线程1:");
      t.schedule(mtt,0);
     }

    }

    import java.util.TimerTask;

    public class MyTimerTask extends TimerTask{
     String s;
     public MyTimerTask(String s){
      this.s = s;
      
     }
     public void run(){
      try{
       for(int i = 0; i<10;i++){
        Thread.sleep(1000);
        System.out.println(s+i);
       }
      }catch(Exception e){
       
      }
     }

    }

      

  • 相关阅读:
    HTTP响应状态码整理
    Python通用爬虫,聚焦爬虫概念理解
    HTTP无状态协议理解
    会话与事务知识点总结
    并发一致性知识点整理
    使用隔离级别read committed隐式解决并发冲突
    多并发笔记整理
    git基本使用
    Docker其他
    Docker Bind Mount 与 Volume
  • 原文地址:https://www.cnblogs.com/belingzhong/p/2480410.html
Copyright © 2011-2022 走看看