zoukankan      html  css  js  c++  java
  • Java线程的两种实现形式

    一、创建线程的第一种方式:继承Thread类

    class Demo extends Thread{
        @Override
        public void run() {
            super.run();
            for(int i=0;i<20;i++)
                System.out.println(Thread.currentThread()+"...."+i);
        }
    }
    
    public class ThreadDemo1 {
        public static void main(String[] args){
            Demo d1 = new Demo();
            Demo d2 = new Demo();
            d1.start();
            d2.start();
        }
    }

    二、创建线程的第二种方式:实现Runnable接口

    class Demo2 implements Runnable{
        public void run() {
            for(int i=0;i<20;i++)
                System.out.println(Thread.currentThread()+"..."+i);
        }
    }
    
    public class ThreadDemo2 {
        public static void main(String[] args) {
            Thread t1 = new Thread(new Demo2());
            Thread t2 = new Thread(new Demo2());
            t1.start();
            t2.start();
            
        }
    }

    Runnable的出现仅仅是将线程的任务进行了对象的封装。

    实现Runnable接口的好处:

    1、将线程的任务从线程的子类中分离出来,进行单独的封装。按照面向对象的思想将任务封装成对象。

    2、避免了Java单继承的局限性

    所以第二种方法创建线程比较常用。

  • 相关阅读:
    ceph pg pool
    linux 开放访问端口
    授予普通用户root权限
    ajax返回json中文是问号
    elasticseach 安装head
    python学习之路8
    JS正则表达式学习
    python学习之路7 前端学习4 jQuery 学习
    python学习之路7 前端学习3
    python 学习总结6 前端学习2
  • 原文地址:https://www.cnblogs.com/whc-uestc/p/4347155.html
Copyright © 2011-2022 走看看