码迷,mamicode.com
首页 > 编程语言 > 详细

1-多线程的两种实现方式

时间:2020-03-31 00:58:56      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:构造函数   target   code   构造方法   run方法   runnable   style   static   两种   

package org.ks.多线程;

/*     
* 多线程(多线程程序实现的方式1)(掌握)
* 1.继承Thread
    * 定义类继承Thread
    * 重写run方法
    * 把新线程要做的事写在run方法中
    * 创建线程对象
    * 开启新线程, 内部会自动执行run方法
*/


//现象:  bb和ksdsb交替执行

public class Demo2_Thread_realize {

    public static void main(String[] args) {
        //方式一
        /*
        MyThread mt = new MyThread();  //创建Thread类的子类对象
        mt.start();                //5.开启线程
        */
        
        //方法二
        myRunnable mr = new myRunnable();    //4.创建Runnable子类对象
        //Runnable对象没有start方法,所以将Runnable对象当做参数,通过Thread类的构造方法Thread(Runnable target)创建一个Thread类的对象,然后调用start方法
        Thread t = new Thread(mr);       //5.将Runnable子类对象当做参数传递给Thread类的构造函数:Runnable target = mr;
        t.start();                        //6.开启线程
        
        for(int i=0;i<1000;i++)        //3.将要执行的代码写在run方法中
        {
            System.out.println("bb");
        }
    }

}

class MyThread extends Thread{           //1.继承 Thread 类
    public void run()                    //2.重写run方法
        {
            for(int i=0;i<1000;i++)        //3.将要执行的代码写在run方法中
            {
                System.out.println("ksdsb");
            }
        }
}


/*     
* 多线程(多线程程序实现的方式2)(掌握)
* 2.实现Runnable
    * 定义类实现Runnable接口
    * 实现run方法
    * 把新线程要做的事写在run方法中
    * 创建自定义的Runnable的子类对象
    * 创建Thread对象, 传入Runnable
    * 调用start()开启新线程, 内部会自动调用Runnable的run()方法
*/

class myRunnable implements Runnable{            //1.定义一个类实现Runnable

    @Override                     //2.重写run方法
    public void run() {           //3.将新线程要做的事写在run方法中
        
    }
    
}

 

1-多线程的两种实现方式

标签:构造函数   target   code   构造方法   run方法   runnable   style   static   两种   

原文地址:https://www.cnblogs.com/kesheng/p/12602274.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!