黑马程序员技术交流社区

标题: 实现多线程的两种方式 [打印本页]

作者: 896575538    时间: 2016-7-20 22:32
标题: 实现多线程的两种方式
* 1.继承Thread
* 定义类继承Thread
* 重写run方法
* 把新线程要做的事写在run方法中
* 创建线程对象
* 开启新线程, 内部会自动执行run方法
*
  
   public class Demo2_Thread {
  
    /**
     * @param args
     */
    public static void main(String[] args) {
     MyThread mt = new MyThread();       //4,创建自定义类的对象
     mt.start();            //5,开启线程
     
     for(int i = 0; i < 3000; i++) {
      System.out.println("bb");
     }
    }
   
   }
   class MyThread extends Thread {         //1,定义类继承Thread
    public void run() {           //2,重写run方法
     for(int i = 0; i < 3000; i++) {       //3,将要执行的代码,写在run方法中
      System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaa");
     }
    }
   }
###24.05_多线程(多线程程序实现的方式2)(掌握)
* 2.实现Runnable
* 定义类实现Runnable接口
* 实现run方法
* 把新线程要做的事写在run方法中
* 创建自定义的Runnable的子类对象
* 创建Thread对象, 传入Runnable
* 调用start()开启新线程, 内部会自动调用Runnable的run()方法
   public class Demo3_Runnable {
    /**
     * @param args
     */
    public static void main(String[] args) {
     MyRunnable mr = new MyRunnable();      //4,创建自定义类对象
     //Runnable target = new MyRunnable();
     Thread t = new Thread(mr);        //5,将其当作参数传递给Thread的构造函数
     t.start();            //6,开启线程
     
     for(int i = 0; i < 3000; i++) {
      System.out.println("bb");
     }
    }
   }
   
   class MyRunnable implements Runnable {       //1,自定义类实现Runnable接口
    @Override
    public void run() {           //2,重写run方法
     for(int i = 0; i < 3000; i++) {       //3,将要执行的代码,写在run方法中
      System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaa");
     }
    }
   
   }


作者: 自娱自乐的朋朋    时间: 2016-7-21 00:14
一个接口   一个类




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2