這篇文章給大家分享的是有關(guān)java中線程調(diào)度指的是什么的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
我們提供的服務(wù)有:網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、蒼南ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的蒼南網(wǎng)站制作公司
在java中,以某種順序在單個CPU上執(zhí)行多個線程稱為調(diào)度;它是多線程的核心,擁有一個好的線程調(diào)度,可以很好(充分)的發(fā)揮系統(tǒng)性能,高效的利用CPU資源,提高程序的執(zhí)行效率。
通常,具有最高優(yōu)先級的可運行線程會最先運行,處于活動狀態(tài)(正在運行);如果有高優(yōu)先級線程被喚醒,并且正在運行低優(yōu)先級的線程,那么高優(yōu)先級線程會立即運行。
調(diào)度類型
1、等待和通知
等待[wait()]和通知[notify(),notifyAll()]提供了在同一對象上同步的線程之間進行通信的方式。
說明:
wait()方法:當在一個對象上調(diào)用wait()方法時,執(zhí)行該代碼的線程立即放棄對該對象的鎖定并將該線程移動到等待狀態(tài)。
notify()方法:這會喚醒在同一對象上調(diào)用wait()的線程,并將線程移動到就緒狀態(tài)。
notifyAll()方法:這會喚醒在同一個對象上調(diào)用wait()的所有線程。
2、運行和讓步
Yield()方法用于為具有相同優(yōu)先級的其他線程提供執(zhí)行機會,即讓當前運行的線程移動到可運行狀態(tài)。
3、睡眠和啟用
nSleep()方法用于暫停線程一段指定的時間,即將當前運行的線程移動到Sleep狀態(tài)一段指定的時間,然后再將其移動到runnable狀態(tài)。例:
Thread.sleep(毫秒數(shù));
線程優(yōu)先級
每個線程都有一個優(yōu)先級,優(yōu)先級由1到10之間的整數(shù)數(shù)字表示,數(shù)字越高,優(yōu)先級越高,線程優(yōu)先級默認為5。在大多數(shù)情況下,線程調(diào)度程序根據(jù)線程的優(yōu)先級(稱為搶占式調(diào)度)來調(diào)度線程。
創(chuàng)建一個Java線程時,它會從創(chuàng)建它的線程中繼承其優(yōu)先級;我們也可以使用setPriority方法在創(chuàng)建線程后隨時修改線程的優(yōu)先級。
感謝各位的閱讀!關(guān)于java中線程調(diào)度指的是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!