91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中start方法與run方法有什么區別

發布時間:2021-05-06 16:49:11 來源:億速云 閱讀:178 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關java中start方法與run方法有什么區別,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

Java有哪些集合類

Java中的集合主要分為四類:1、List列表:有序的,可重復的;2、Queue隊列:有序,可重復的;3、Set集合:不可重復;4、Map映射:無序,鍵唯一,值不唯一。

線程狀態

在Java當中,線程通常有五種狀態:創建、運行、阻塞、等待、終止
NEW------------------->新建狀態,沒有調用start()之前的狀態
RUNNABLE---------->運行狀態,(running執行中,ready就緒(等待cpu時間片))
BLOCKED------------>阻塞狀態,
WAITING-------------->等待狀態,沒有明確的等待結束時間,調用wait()
TIMED_WAITING—>超時等待狀態,有明確的等待時間,如:sleep(xxx)
TERMINATED-------->終止狀態

多線程原理:

我們一般使用thread new一個線程,然后調用start方法啟動,線程就會處于運行狀態中ready,等待CPU調度,然后再執行線程里面的run()方法,使用start方法才真正實現了多線程運行,因為這個時候不用等待我們的run方法執行完成就可以繼續執行下面的代碼,這才叫多線程。

如果直接使用thread執行run方法會怎么樣呢?

因為run方法是thread里面的一個普通的方法,如果直接調用run()方法,這個時候它會運行在主線程中的,因為程序中只有主線程一個線程,如果有兩個線程,都是直接調用run()方法,那么他們的執行順序一定是按順序執行的,并沒有實現多線程的目的。

免費學習視頻分享:java視頻教程

代碼對比

public class ThreadDemo5 {
    public static final boolean flag=false;
    public static void main(String[] args) {
        Thread t1=new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName());
            }
        });
        t1.start();
    }
}

調用start()方法,線程名是默認的

java中start方法與run方法有什么區別

public class ThreadDemo5 {
    public static final boolean flag=false;
    public static void main(String[] args) {
        Thread t1=new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName());
            }
        });
        t1.run();
    }
}

調用run(),線程名是main

java中start方法與run方法有什么區別

以上就是java中start方法與run方法有什么區別,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临澧县| 西城区| 扎鲁特旗| 兖州市| 龙岩市| 宣汉县| 昌吉市| 同心县| 扎囊县| 西林县| 谢通门县| 蓝山县| 嫩江县| 隆德县| 泽州县| 吴堡县| 桐乡市| 谢通门县| 海兴县| 靖安县| 石渠县| 曲松县| 积石山| 固始县| 紫金县| 桂东县| 福建省| 达拉特旗| 炎陵县| 沙坪坝区| 聊城市| 罗源县| 尼勒克县| 宜兰县| 连州市| 闸北区| 万全县| 澄迈县| 余干县| 九寨沟县| 繁昌县|