美文网首页
多线程的两种实现方式

多线程的两种实现方式

作者: 卓昂芭比 | 来源:发表于2019-03-30 21:32 被阅读0次

    主方法是单线程的;

    多线程的实现方式

        类Thread  java.lang包下  实现Runnable接口

        线程是程序中的执行线程,Java虚拟机允许应用程序并发的运行多个执行线程

        创建线程:  (1)将类声明为Thread的子类,该子类重写Thread类的Run方法,接下来可以分配并启动孩子类的实例

        *      四步:1) 继承Thread  2)重写run()方法  3)创建对象  4)启动

                        (2)声明实现Runnable接口的类,该类实现run方法,然后可以分配该类的实例,在创建Thread时作为一个参数来传递并启动。

                  四步:1)实现Runnable类  2)实现run()方法  3)创建对象  4)创建Thread对象

    方法 :static Thread currentThread();返回对当前正在执行的线程对象的引用

    方法一实现

    public class MyThreadDemo1 extends Thread {

    public void run() {

    for(int i=0;i<100;i++) {

    System.out.println(getName()+":"+i);

    }

    }

    }

    public class ThreadDemo {

    public static void main(String[] args) {

    //线程1

    MyThreadDemo1 mt=new MyThreadDemo1();

    mt.setName("线程1");

    mt.start();

    //线程2

    MyThreadDemo1 mt2=new MyThreadDemo1();

    mt2.setName("线程2");

    mt2.start();

    }

    }

    方法二实现

    package Runnable;

    //方法2

    public class RunnableDemo implements Runnable{

    int num;

    public RunnableDemo(int num) {

    this.num=num;

    }

    @Override

    public void run() {

    for(int i=0;i<100;i++) {

    //Thread t=Thread.currentThread();

    //String s=t.getName();

    System.out.println(Thread.currentThread().getName()+":"+i);//链式编程

    }

    // TODO 自动生成的方法存根

    }

    }

    public class RunnableTest {

    public static void main(String[] args) {

    //method1();

    RunnableDemo rd=new RunnableDemo(100);

    Thread t=new Thread(rd);

    t.setName("线程1");

    t.start();

    //线程2

    Thread t2=new Thread(rd);

    t2.setName("线程2");

    t2.start();

    }

    private static void method1() {

    //线程1

    RunnableDemo rd=new RunnableDemo(100);

    Thread t=new Thread(rd);

    t.setName("线程1");

    t.start();

    //线程2

    RunnableDemo rd2=new RunnableDemo(200);

    Thread t2=new Thread(rd2);

    t.setName("线程2");

    t.start();

    }

    }

    相关文章

      网友评论

          本文标题:多线程的两种实现方式

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