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接口创建线程

  • 相关阅读:
    『转』QueryPerformanceFrequency()
    『转』C++中虚析构函数的作用
    存储过程的优缺点
    一个工作7年的软件工程师的总结(收藏)
    存储过程分页算法(收藏)
    Ajax原理(收藏)
    七大秘籍成就职场王者(收藏)
    视图的优缺点
    SQL索引全攻略
    .aspx、MasterPage、.ascx加载顺序
  • 原文地址:https://www.cnblogs.com/gczmn/p/8504880.html
Copyright © 2011-2022 走看看