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

相關文章
相關標籤/搜索