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

Posted kesheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1-多线程的两种实现方式相关的知识,希望对你有一定的参考价值。

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-多线程的两种实现方式的主要内容,如果未能解决你的问题,请参考以下文章

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

java多线程编程的两种方式

Java 实现多线程的两种方式

实现多线程的两种方式

实现多线程的两种方式,卖票场景,亲测可用

java基础——多线程的两种实现方式