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

  • 相关阅读:
    Git for Windows安装教程
    MySQL 操作已存在的表(ALTER TABLE)
    Xiuno 简约白色主题
    PHP 文件上传操作类
    Leetcode 5. 最长回文子串
    Hexo开篇
    Laravel 模型关联——连带删除
    Layui表单赋初值之 checkbox
    Layui提交表单时验证必选的多选框是否有选中
    自定义 checkbox 和 radio
  • 原文地址:https://www.cnblogs.com/gczmn/p/8504880.html
Copyright © 2011-2022 走看看