zoukankan      html  css  js  c++  java
  • 匿名内部类实现线程的两种方式

     匿名内部类的使用:  匿名内部类就相当于是   创建了一个子类对象: 编译时看父类,即Thread类,运行时看子类,及重写的run(){}方法

    1、  继承Thread 

    public class demon1 {
        public static void main(String[] args) {
            Thread t1 = new Thread(){         //  t1是一个线程对象,  暂时没有线程名。  可以通过t1.setName(name)设置线程名   
                @Override
                public void run() {
                    System.out.println(this.getName() + ".......aaaaaa");
                    super.run();
                }
                
            };
            new Thread(){       //   可以在构造方法里传入一个值,这个值就是线程名
                @Override
                public void run() {
                    this.setName("lisoi");   // 在方法里  设置线程名
                    System.out.println(this.getName() + "......bb");
                    super.run();
                }
                
            }.start();
            t1.setName("zhangsan");
            t1.start();
        }
    }

    2、实现Runnable接口

    public class demon2_currentThread {
    
        public static void main(String[] args) {
            new Thread("t1"){    //  直接传入 线程名字
    
                @Override
                public void run() {
                    System.out.println(getName() + "......aaaa");    //  getName() 获取线程名
                    
                }
                
            }.start();   //  start 直接开启线程        
            new Thread(new Runnable(){
                public void run() {
                    System.out.println(Thread.currentThread().getName()+ "......bb"); 
                   //  Runnable接口方式的多线程,不能直接调用Thread 的方法 , 需要通过Thread.currentThread()   返回对当前正在执行的线程的对象的引用。  再来调用Thread的方法
                }
            }).start();
            System.out.println(Thread.currentThread().getName());       
        }
    
    }
    竹杖芒鞋轻胜马,一蓑烟雨任平生。 回首向来萧瑟处,也无风雨也无晴。
  • 相关阅读:
    4 linux上运行crm&uwsgi
    Vue 目录
    vue -(滚动播放-全屏展示)
    Chrome 调试技巧
    Vue 遇到的坑
    9 matplotlib
    Maven
    Dev-C++黑暗主体和代码高亮配置
    Git操作:一次push把代码提交到两个仓库
    windows server 2012 r2 快速启动 部署remoteapp 显示服务器有挂起的重启,怎么解决?
  • 原文地址:https://www.cnblogs.com/yaobiluo/p/11324605.html
Copyright © 2011-2022 走看看