1. 程式人生 > >Java多線程和並發(二),Thread中的start和run的區別

Java多線程和並發(二),Thread中的start和run的區別

() main alt exception adt 方法 的區別 @override att

目錄

1.調用run方法

2.調用start方法

3.start和run的區別

二、Thread中的startrun的區別

1.調用run方法

public class ThreadTest {
    private static void attack() {
        System.out.println("Current Thread is : " + Thread.currentThread().getName());
    }

    public static void main(String[] args) throws InterruptedException {
        Thread t 
= new Thread(){ @Override public void run() { attack(); } }; System.out.println("current main thread is : " + Thread.currentThread().getName()); t.run(); }

顯示線程只有一個,即main線程

技術分享圖片

2.調用start方法

public class ThreadTest {
    
private static void attack() { System.out.println("Current Thread is : " + Thread.currentThread().getName()); } public static void main(String[] args) throws InterruptedException { Thread t = new Thread(() -> attack()); System.out.println("current main thread is : " + Thread.currentThread().getName()); t.start(); } }


我們是用
lambda表達式來重寫的Thread類,這個時候就會創建一個新的線程

技術分享圖片

3.startrun的區別

技術分享圖片

Java多線程和並發(二),Thread中的start和run的區別