zoukankan      html  css  js  c++  java
  • java 核心编程——线程之线程的开发方法(二)

    1.继承Thread类

      Thread类是一个具体的类,不是抽象类。

    package se.thread;
    
    import java.util.Date;
    
    public class ThreadTest extends  Thread {
    
        public int time;
        public String name;
    
        ThreadTest(int time,String name){
    
            this.name=name;
            this.time=time;
        }
    
        public void run(){
    
            while(true){
                try {
                    System.out.println("用户"+this.name+"正在休息,时间:"+new Date());
                    Thread.sleep(this.time);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
    
        }
    
    
        public static void main(String[] args) {
    
            ThreadTest threadTest1 = new ThreadTest(100,"jack");
            threadTest1.start();
    
            ThreadTest threadTest2 = new ThreadTest(200,"lolo");
            threadTest2.start();
    
    
        }
    
    }

    2.实现Runable接口

    package se.thread;
    
    import java.util.Date;
    
    public class TreadTest2 implements Runnable {
    
    
        public int time;
        public String name;
    
        public TreadTest2(int time,String name){
    
            this.name=name;
            this.time=time;
        }
    
    
    
        @Override
        public void run() {
            while(true){
                try {
                    System.out.println("用户"+this.name+"正在休息,时间:"+new Date());
                    Thread.sleep(this.time);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    
        public static void main(String[] args) {
    
            TreadTest2 threadTest2 = new TreadTest2(3000,"004");
            TreadTest2 treadTest22 = new TreadTest2(2000,"125");
            new Thread(threadTest2).start();
            new Thread(treadTest22).start();
    
        }
    }

    3.选择Thread类还是Runable接口?

      1.如果只是想重写Runable接口而不是重写Thread其他方法,则使用Runable接口。

      2.如果子类继承了其他非Thread类,则只能通过实现Runable接口来实现run()的重写。

  • 相关阅读:
    「UVA12293」 Box Game
    「CF803C」 Maximal GCD
    「CF525D」Arthur and Walls
    「CF442C」 Artem and Array
    LeetCode lcci 16.03 交点
    LeetCode 1305 两棵二叉搜索树中的所有元素
    LeetCode 1040 移动石子直到连续 II
    LeetCode 664 奇怪的打印机
    iOS UIPageViewController系统方法崩溃修复
    LeetCode 334 递增的三元子序列
  • 原文地址:https://www.cnblogs.com/wwyx-xi/p/7525260.html
Copyright © 2011-2022 走看看