美文网首页
线程2:创建多线程的第二种方式--java37(03/20/20

线程2:创建多线程的第二种方式--java37(03/20/20

作者: Girl_endless | 来源:发表于2016-03-28 15:26 被阅读21次

    package com.atguigu.java1;

    /*

    • 创建多线程的方式二:通过实现的方式
    • 对比一下继承的方式和实现的方式:
    • 1.联系:public class Thread implements Runnable
    • 2.哪个方式好?实现的方式优于继承的方式
    •  why?    ①避免的java单继承的局限性
      
    •          ②如果多个线程要操作同一份资源(或数据),更适合使用实现的方式
      

    */

    //1.创建一个实现Runnable接口类
    class PrintNum1 implements Runnable{
        //2.实现接口的抽象方法
        public void run(){
            for(int i = 1; i<= 100; i++){
                if(i % 2 == 0){
                    System.out.println(Thread.currentThread().getName() + 
                            Thread.currentThread().getPriority() +":" + i);             
                }
            }
        }
    }
    public class TestThread4 {
    
        public static void main(String[] args) {
            //3.创建一个Runnable接口实现类的对象
            PrintNum1 p1 = new PrintNum1();
            //p1.start();start是thread类的接口,报错
            //p1.run();这是调用run方法了,并不是多线程
            //要想启动一个多线程,必须调用start()
            //4.将此对象做为形参传递给Thread类的构造器中,创建thread类的对象,此对象即为一个线程
            Thread t1 = new Thread(p1);
            //5.调用start()方法
            t1.start();//启动线程,执行thread对象生成时,构造器形参的对象的run()方法
            
            Thread t2 = new Thread(p1);
            t2.start();
        }
    }
    
    

    相关文章

      网友评论

          本文标题:线程2:创建多线程的第二种方式--java37(03/20/20

          本文链接:https://www.haomeiwen.com/subject/csmjlttx.html