zoukankan      html  css  js  c++  java
  • 线程--实现Runnable接口

    实现Runnable接口,创建线程步骤:

    1、定义类,并实现Runnable接口

    2、重写Runnable接口中的run()方法

    3、通过Thread类建立线程对象

    4、将实现了Runnable接口的类作为参数传入Thread类的构造函数

    5、调用Thread类对象的start()方法,开始调用Runnable子类的run()方法

    Class SynDemo implemets Runable
    {
        private int i;
        SynDemo(int i){
             this.i = i;
        }
        public void run(){
            while(true){
                if(i > 0){
                       System.out.printlnt(Thread.currentThread().getName()+"==="+i--);
                }
            }
        }
    }  
    
    Class TestDemo
    {
        public static void main(String[] args){
                 SynDemo syn = new SynDemo();//SynDemo 对象不是个线程,所以需要跟Thread类产生关系需要创建一个Thread类,所以需要告诉Thread线程需要运行的代码
                Thread t1 = new Thread(syn);
                Thread t2 = new Thread(syn);
                Thread t3 = new Thread(syn);
                Thread t4 = new Thread(syn); 
     
                t1.start();
                t2.start();
                t3.start();
                t4.start();
    
    
        }
    }

    实现Runnable类和继承Thread的区别:

      java可以多实现,但是只能单继承。

      所以实现Runnable对类的影响不大,继承了Thread后就不能在继承其他类。

      其实Runnable接口的出现就是解决继承一个类后,还需要继承Thread实现多线程,但是java不支持多继承,由此使用接口进行扩展。

      所以基本使用实现Runnable接口创建线程

  • 相关阅读:
    (数据结构)十分钟搞定时间复杂度(算法的时间复杂度)
    深入学习二叉树
    我对工作的认识
    mysql系列纠错;
    关于普通指针转换为智能指针的一些问题
    vscode The VS Code Server failed to start
    git 分支管理
    git change_id的理解
    git 指令速查
    c++ make_shared()函数理解 (待整理)
  • 原文地址:https://www.cnblogs.com/gczmn/p/8504880.html
Copyright © 2011-2022 走看看