Java如何建立多线程

1、Java建立多线程的两种方式 继承Thread类 实现Runnable接口 两种方法都须要重写run()方法以后调用start()方法让线程进入准备状态。(具体执行时间由cpu调度,start()方法并不是真正的执行方法)。java

继承Thread类 Thread类自己也是实现了Runnable接口,重写了run()方法,Thread类可直接实例化线程对象bash

package test;


import org.junit.Test;


/**
 * @ClassName: test1
 * @Description: TODO
 * @Author: JL
 * @Date: 2019/2/18 17:46
 * @Version 1.0
 */
public class test1 {
    @Test
    public void test(){
        new ThreadTest().start();
        new ThreadTest().start();
        new ThreadTest().start();
        new ThreadTest().start();
        new ThreadTest().start();
    }

    class ThreadTest extends Thread{
        //继承Thread类,重写run()方法
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName()+"执行Start");
            System.out.println(Thread.currentThread().getName()+"执行End");
        }
    }
}
复制代码

实现Runnable接口 实例化Runnable接口的实现类对象,做为Thread类的构造器参数生成线程对象。多线程

@Test
    public void t2(){
        ThreadTest1 runnable = new ThreadTest1();
        new Thread(runnable).start();
        new Thread(runnable).start();
        new Thread(runnable).start();
        new Thread(runnable).start();
        new Thread(runnable).start();
    }

    class ThreadTest1 implements Runnable{
        //实现Runnable接口,实现run()方法
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName()+"执行Start");
            System.out.println(Thread.currentThread().getName()+"执行End");
        }
    }
复制代码

总结:java中存在单继承、多实现的特性,因此咱们在开发过程当中尽可能使用实现Runnable接口,而非继承Thread类。ide

相关文章
相关标签/搜索