zoukankan      html  css  js  c++  java
  • Thread类 和Runnable接口的区别

    实现Runnable接口创建多线程程序的好处:

    1.避免单继承的局限性

    一个类只能继承一个类(一个人只有一个亲爹)类继承了Thread类就不继承其他的类

    实现了Runnable接口,还可以继承其他的类,实现其他的接口

    2.增强程序的拓展性,降低了程序的耦合性

    实现runnable接口的方式,把设置线程任务和开启新线程进行了分离

    实现类中,重写了run方法:用来设置线程任务

    创建Thread类对象,调用Start方法,用来开启新线程。

    public class Demo01Runnable {
        public static void main(String[] args) {
            //3.创建一个runnable接口的实现对象
            RunnableImpl run=new RunnableImpl();
            //4.创建Thread类对象,构造方法中传递Runnable接口的实现类对象。
            //Thread t=new Thread(run);
            Thread t=new Thread(new RunnableImpl2());
            //5.调用Thread类中的start方法,开启新的线程执行run方法
            t.start();
            for (int i = 0; i <20 ; i++) {
                System.out.println(Thread.currentThread().getName()+"-->"+i);
            }
        }
    }
    //1.创建一个Runnable 接口的实现类。
    public class RunnableImpl2 implements Runnable{
    //2.在实现类中重写runnable接口的run方法,设置线程任务。
        @Override
        public void run() {
            for (int i = 0; i < 20; i++) {
                System.out.println("hello");
            }
    
        }
    }
  • 相关阅读:
    C# 从服务器下载文件
    不能使用联机NuGet 程序包
    NPOI之Excel——合并单元格、设置样式、输入公式
    jquery hover事件中 fadeIn和fadeOut 效果不能及时停止
    UVA 10519 !! Really Strange !!
    UVA 10359 Tiling
    UVA 10940 Throwing cards away II
    UVA 10079 Pizze Cutting
    UVA 763 Fibinary Numbers
    UVA 10229 Modular Fibonacci
  • 原文地址:https://www.cnblogs.com/cy2268540857/p/13735051.html
Copyright © 2011-2022 走看看