黑马程序员技术交流社区

标题: 多线程开启的2种方式 [打印本页]

作者: dajiaoya    时间: 2015-7-9 10:21
标题: 多线程开启的2种方式
_多线程(多线程程序实现的方式1)
* 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");
                                        }
                                }
                        }

###23.05_多线程(多线程程序实现的方式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");
                                        }
                                }
                               
                        }


作者: xyxlx111    时间: 2015-7-9 21:53
学习,学习
作者: 等你的季节-夏天    时间: 2015-7-10 00:08
谢谢分享
作者: 430422    时间: 2015-7-10 00:12
请受小第一拜!
作者: 白月留梦    时间: 2015-7-10 07:07
学习下,再过几天就学了




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