大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 線程中的常用10種方法

線程中的常用10種方法

更新時間:2020-11-24 17:27:25 來源:動力節(jié)點 瀏覽2359次

在Java多線程中,有許多的方法存在,以便實現(xiàn)線程的各種功能。這其中包含有靜態(tài)方法以及一些對象方法,本文就為學(xué)習(xí)多線程的小伙伴介紹10種線程中的常用方法,為我們學(xué)習(xí)多線程中方法的使用打下基礎(chǔ)。

下面就是線程中常用的10種方法:


1.start():

在使用 new 關(guān)鍵字創(chuàng)建一個線程后(New 狀態(tài)),并不表現(xiàn)出任何的線程活動狀態(tài)(非 New、Terminated 狀態(tài),可以使用 isAlive 方法檢測線程的活動狀態(tài)),CPU 也不會執(zhí)行線程中的代碼。

只有在 start() 方法執(zhí)行后,才表示這個線程可運行了(Runnable 狀態(tài)),至于何時真正運行還要看線程調(diào)度器的調(diào)度。

在線程死亡后,不要再次調(diào)用 start() 方法。只能對新建狀態(tài)的線程調(diào)用且只能調(diào)用一次 start() 方法,否則將拋出 IllegalThreadStateException 異常。


2.join():

在很多情況下,主線程創(chuàng)建并啟動了線程,如果子線程中藥進行大量耗時運算,主線程往往將早于子線程結(jié)束之前結(jié)束。這時,如果主線程想等待子線程執(zhí)行完成之后再結(jié)束,比如子線程處理一個數(shù)據(jù),主線程要取得這個數(shù)據(jù)中的值,就要用到j(luò)oin()方法了。方法join()的作用是等待線程對象銷毀。


3.run():

啟動線程是 start() 方法,而不是 run() 方法。run()方法是不需要用戶來調(diào)用的,當(dāng)通過start方法啟動一個線程之后,當(dāng)線程獲得了CPU執(zhí)行時間,便進入run方法體去執(zhí)行具體的任務(wù)。注意,繼承Thread類必須重寫run方法,在run方法中定義具體要執(zhí)行的任務(wù)。


4.sleep():

主動放棄占用的處理器資源,該線程進入阻塞狀態(tài)(Blocked 狀態(tài)),指定的睡眠時間超時后,線程進入就緒狀態(tài)(Runnable),等待線程調(diào)度器的調(diào)用。


5.yield():

主動放棄占用的處理器資源,線程直接進入就緒狀態(tài)(Runnable),等待線程調(diào)度器的調(diào)用。

可能的情況是當(dāng)線程使用 yield 方法放棄執(zhí)行后,線程調(diào)度器又將該線程調(diào)度執(zhí)行。


6.interrupt():

沒有任何強制線程終止的方法,這個方法只是請求線程終止,而實際上線程并不一定會終止,在調(diào)用 sleep() 方法時可能會出現(xiàn) InterruptedException 異常,你可能會想在異常捕獲后(try-catch語句中的catch)請求線程終止,而更好的選擇是不處理這個異常,拋給調(diào)用者處理,所以這個方法并沒有實際的用途,還有 isInterrupted() 方法檢查線程是否被中斷。


7.setDaemon():

設(shè)置守護進程,該方法必須在 start() 方法之前調(diào)用,判斷一個線程是不是守護線程,可以使用 isDaemon() 方法判斷。


8.setPriority():

設(shè)置線程的優(yōu)先級,理論上來說,線程優(yōu)先級高的線程更容易被執(zhí)行,但也要結(jié)合具體的系統(tǒng)。

每個線程默認的優(yōu)先級和父線程(如 main 線程、普通優(yōu)先級)的優(yōu)先級相同,線程優(yōu)先級區(qū)間為 1~10,三個靜態(tài)變量:MIN_PRIORITY = 1、NORM_PRIORITY = 5、MAX_PRIORITY = 10。

使用 getPriority() 方法可以查看線程的優(yōu)先級。


9.isAlive():

檢查線程是否處于活動狀態(tài),如果線程處于就緒、運行、阻塞狀態(tài),方法返回 true,如果線程處于新建和死亡狀態(tài),方法返回 false。


10.getId()

getId()的作用是取得線程的唯一標(biāo)識

 

public class Test {

    public static void main(String[] args) {

        Thread t= Thread.currentThread();

        System.out.println(t.getName()+" "+t.getId());

    }

}

//main 1

 

以上就是線程中的常用10種方法,倘若你是初入Java的入門學(xué)習(xí)者,可能還需要更加細致的講解,配合本站的Java多線程教程里面的各種方法實例一起學(xué)習(xí)效果更佳哦!


提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 一区二区国产一区二区a4yy | 国产成人精品cao在线 | 色偷偷亚洲第一成人综合网址 | 7777成年大片免费播放器 | 久久久久久久国产高清 | 欧洲成人全免费视频网站 | se色综合视频 | 国产欧美综合精品一区二区 | 欧美精品国产日韩综合在线 | 中文字幕久热 | 综合一个色 | 99热久久精品免费精品 | 亚洲精品色婷婷在线影院麻豆 | 欧美在线色视频 | 久久semm亚洲国产 | 亚洲精品日韩中文字幕久久久 | 在线播放精品一区二区啪视频 | 香蕉网站狼人久久五月亭亭 | 欧美精品免费在线观看 | 四虎最新免费观看网址 | 一级免费毛片 | 欧美中文字幕在线 | 亚洲高清色 | 欧美99视频 | 手机看一级片 | 在线亚洲欧洲国产综合444 | 成人日b视频 | 亚洲一级色 | 香港aa三级久久三级不卡 | 天啪天天久久天天综合啪 | 日本特黄特色aaa大片免费 | 伊人爱爱网 | 日韩字幕 | 久久精品久久精品久久 | 97在线人人| 玖玖国产在线 | 亚洲视频精品在线观看 | 亚洲 国产 图片 | 男人的天堂久久精品激情 | 九九精品在线 | 狠狠综合 |