當前位置:首頁 > 文章中心>Java作業兩種調度算法對比

Java作業兩種調度算法對比

發布時間:2020-12-25 16:16:06 閱讀:1651 作者:致遠教育 字數:1226 字 預計閱讀時間:4分鐘
導讀:Java作業調度算法一直是一項難點,本文致遠教育小編大家介紹一下分布式作業流調度算法和短作業優先調度算法這兩種Java作業調度算法。

Java作業調度算法一直是一項難點,本文致遠教育小編大家介紹一下分布式作業流調度算法和短作業優先調度算法這兩種Java作業調度算法。

分布式作業流調度算法

分布式作業流調度算法

分布式作業流調度算法就是對于進程排在前面的工作優先運行,對于進程排在后面的工作后運行,也叫先來先服務算法,這種算法總是優先把排在隊列前面的進程優先處理和運行。

換一種說法,這種調度算法只考慮作業的排列先后,而不考慮作業運行的時間因素。這種算法操作簡單,不存在搶占式策略,但是整體性能不是很優越。

分布式作業流調度算法總是根據作業到達的順序先后進行分配,也就是說系統會優先選擇等待時間最長的工作進行優先運行,而不會關心作業運行需要時間的長短,把最先列入的作業調入分配中,創建運行程序,等待運行。

分布式作業流調度算法的有點主要有以下幾個方面:

  • 優先分配CPU主要是根據作業提交的先后順序,或者是進程優先被分配為就緒狀態的先后順序優先分配。
  • 一個新的作業只有當前運行的作業完成后才會被分配CPU運行。
  • 這個調度算法是非搶占式的,總是要等待運行中的作業讓出CPU,才會進行下一個作業的運行。
  • 這個算法有利于工作內容較多,作業程序較多的情況。

短作業優先調度算法

短作業優先調度算法

短作業優先調度算法又叫做短進程優先調度算法,可以進行作業和進程的調度。使用這種作業調度算法就是在整個作業調度過程中,短作業優先調度算法會在后面等待的作業總優先選擇服務時間最短的作業進行,把這些作業調到隊列中,分配上相應的資源內容,自動的建立新的進程等待進程開始調度。短作業優先調度算法和短進程優先調度算法稍微有些區別,其中,短作業優先是篩選運行時間短的作業,而短進程優先是篩選運行時間短的進程。

短作業(進程)優先調度算法主要分為四類:

  1. 作業類;
  2. 短作業優先主方法類;
  3. 短作業優先工具類;
  4. 運行結果。

作業類

主要用來命名有關作業的相關屬性問題,例如作業的名字,作業運行的時長范圍,作業結束的時間,作業開始的時間,作業的運行許周期,作業的平均運行周期等,還有作業get和開始set的途徑等。

短作業優先主方法類

主要用來協調所有的類進行統一的安排和調度,確保程序運行的順序不亂套,并且能夠按照有序的程序進行從而得到正確的結果。這一類的主要操作步驟為:a. 初始化處理工作累的數據,初始化模擬的進程。b. 對設定的程序執行相應的時間。c. 開始執行運算,按照短作業優先的算法,列隊執行程序。d. 程序自動識別計算每個作業運行的時間情況。e. 輸入列隊中的工作情況。

短作業優先工具類

這類的主要方法有:

  • 初始化整個作業。
  • 按照服務的時間對工作進行列隊排序。
  • 按照到達的時間對工作進行列隊排序。
  • 調度算法函數,把作業按照篩選列入作業排序中。
  • 算出時間和平均時間等信息。
  • 運行結果
  • 主要是用來對結果的運行和輸出。

優勢:

運算的平均時間和平均帶權時間都會明顯減小,可以極大的縮小作業運作的等待時間,提高作業運行的效率,提高系統的工作量。

缺陷:

忽略了任務的緊迫先后,使用不能確保要緊作業緊急處理、對于一些用時較長的作業來說不利,而且有些作業的長短分類摻雜主觀因素,不能真正確保短作業優先的進程。

以上就是分布式作業流調度算法和短作業優先調度算法這兩種Java作業調度算法的簡單介紹和比較,希望能給同學一些幫助。如果需要Java作業代寫,請咨詢網站客服。

最新評論

評論內容:

驗證碼:
驗證碼

911国产在线观看无码专区