中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

德保县| 青神县| 临桂县| 柳州市| 炎陵县| 恩平市| 宝坻区| 延津县| 红原县| 阿克陶县| 龙门县| 江门市| 盘山县| 吉首市| 红桥区| 宁海县| 曲松县| 巴林左旗| 贵州省| 武山县| 新化县| 湘乡市| 赤水市| 柞水县| 毕节市| 连平县| 宜州市| 高安市| 无为县| 松原市| 南投市| 叶城县| 凤山县| 永泰县| 兴化市| 东乌珠穆沁旗| 宜川县| 二手房| 宁安市| 页游| 仁化县|