精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Java應用程序中動態分配CPU資源

開發 后端
本文向您介紹在Java應用程序中動態分配CPU資源,提出一個與平臺無關、并且能在任務間動態分配CPU資源的方案。

Java的線程調度操作在運行時是與平臺無關的。一個多任務系統需要在任務之間實現QoS(Quality of Service)管理時,如果CPU資源的分配基于Java線程的優先級,那么它在不同平臺上運行時的效果是很難預測的。本文利用協調式多任務模型,提出一個與平臺無關、并且能在任務間動態分配CPU資源的方案。

現在,由于計算機系統已經從人機交互逐步向機機交互轉化,計算機和計算機之間的業務對于時間的要求非常高。軟件系統對于業務的支持已經不僅表現為對不同業務的邏輯和數據(算法+數據結構)支持,而且還表現為對同時處理不同任務的時效性(任務響應速度)支持。一般,任務響應的速度可以通過算法優化及并行運算分擔負載等手段來提高。但是,用戶業務邏輯的復雜度決定了算法優化的發揮空間,硬件規模決定了所能夠承擔負載的大小。我們利用Java平臺的特點,借鑒協調式多任務思想,使任務間動態分配CPU,從而為時間要求強的任務分配更多的CPU運行資源。這也可以充分利用現有硬件,為用戶業務提供***的保障。

用Java解決問題

本著軟件系統結構和現實系統結構一致的思想,開發復雜業務服務的程序一般按照計算機任務和現實業務對應的思路,最終形成一個大規模的多任務系統。由于其跨平臺性,Java系統可以隨著業務的擴大,平滑地升級到各種硬件平臺上。由于Java自身的發展及其應用場合的不斷擴大,用它實現多任務系統已經成為當前的應用方向。在J2EE(Java2 Enterprise Edition)推出以后,Sun公司已經將Java的重心放在了服務器端(Server Side)系統的構造上。由于客戶/服務器模型固有的多對一的關系,服務器端程序也必然是一個多任務系統。

在Java多任務應用中,動態地將CPU資源在任務間分配有很重要的意義。比如一個Internet服務商的系統往往有多種任務同時運行,有HTTP、FTP、MAIL等協議的支持,也有商務、娛樂、生活、咨詢等業務的服務。在白天,網站希望系統的CPU資源盡量保障網上用戶的服務質量,提高電子商務等任務的響應速度;晚上則希望讓自己的娛樂服務和資料下載盡可能滿足下班后人們的需要。另外,在新興的網管(比如TMN, Telecommunication Management Network)等應用領域中,服務程序往往需要支持成千上萬個并發響應事件的被管理對象(MO,Managed Object)。對于被管理對象執行的操作,不同用戶在不同時刻往往有不同的時間要求。

方案選擇

在考慮動態分配CPU資源的實施方案時,往往有以下兩點要求:

1. 須充分利用現有硬件資源,在系統空閑時,讓低優先級任務也能夠得到系統所能給予的最快響應。

2.當硬件資源超負荷運行時,雖然系統中有大規模、多數量的任務不能處理,但它不應受影響,而能夠順利處理那些能夠被處理的、最重要的高優先級任務。

多任務系統要用多線程實現的最簡單方法就是將線程和任務一一對應,動態調整線程的優先級,利用線程調度來完成CPU資源在不同任務間動態分配。這種思路在以前使用本地化代碼(Native Code),充分利用特定硬件和操作系統技巧的基礎上是基本可行的。但在跨平臺的Java環境中,這個思路對僅有小規模任務數的簡單系統才可行,原因有以下兩點:

1. Java的線程雖然在編程角度(API)是與平臺無關的,但它的運行效果卻和不同操作系統平臺密切相關。為了利用更多的CPU資源,Java中的一個線程(Thread)就對應著不同操作系統下的一個真實線程。因為Java虛擬機沒有實現線程的調度,所以這些Java的線程在不同操作系統調度下運行的差異性也就比較明顯。例如在Windows系統中,不僅線程的優先級少于Java API參數規定的十個優先級,而且微軟明確反對程序員動態調整線程優先級。即使在操作系統中有足夠的優先權,讓線程優先級的參數和真實線程的優先級對應,不同操作系統的調度方式也會有許多不同。這最終會造成代碼在不同平臺上的行為變得不可預測。這就很難滿足復雜的、大規模并發任務的眾多優先級需求,從而很難達到用戶業務需要達到的效果。

2. 由于在Java系統中,線程被包裝在一個Java語言的對象類—Thread中,所以為了完成Java語言對象和操作系統線程的對應,Java線程的系統開銷還是比較大的(在NT 4.0中,平均每個線程大致占用30KB內存)。因此如果讓Thread對象個數和成千上萬的任務數同比例增長,就顯然是不合理的。

綜上所述,根據并發多任務的大規模需求和Java平臺固有的特點,想要利用Java Thread對象的優先級調整CPU資源的分配是非常困難的,所以應該盡量避免讓線程和任務直接對應,也盡量避免使用操作系統線程優先級的調度機制。

解決方案

根據以上分析,問題的癥結在于:多任務系統中的任務在Java語言中的對應以及任務間的相互調度。

從本質上看,一個任務就是一系列對象方法的調用序列,與Java的Thread對象或者別的類的對象沒有必然聯系。在避免使用不同操作系統線程調度且同時Java虛擬機又沒有線程調度能力的情況下,要想構造一個協調式多任務系統,讓各個任務相互配合就成了最直接的思路。協調式多任務系統一般有以下特點:

1. 任務由消息驅動,消息的響應代碼完成任務邏輯的處理;

2. 消息隊列完成消息的存儲和管理,從而利用消息處理的次序體現任務優先級的不同;

3. 任務中耗時的消息響應邏輯能夠主動放棄CPU資源,讓別的任務執行(像Windows 3.1中的Yield函數、Visual Basic中的DoEvents語句)。

可能出于巧合,Java語言具有構造協調式多任務系統天然的條件。Java對象的方法不僅是一個函數調用,它還是一個java.lang.reflect.Method類的對象。而所有對象的方法都可以通過Method類的invoke方法調用。如果能使每個任務所對應的一系列方法全部以對象形式包裝成消息,放到消息隊列中,然后再按照自己的優先級算法將隊列中的消息取出,執行其Method對象的invoke調用,那么一個基本的協調式多任務系統就形成了。其中,任務的優先級和線程的優先級沒有綁定關系。該系統的主體調度函數可以設置成一個“死循環”,按照需要的優先級算法處理消息隊列。對于有多重循環、外設等待等耗時操作的消息響應函數,可以在響應函數內部遞歸調用主體調度函數,這一次調用把原來的“死循環”改成在消息隊列長度減少到一定程度(或者為空)后退出。退出后,函數返回,執行剛才沒有完成的消息響應邏輯,這樣就非常自然地實現了協調式系統中任務主動放棄CPU資源的要求。

如果僅僅做到這一步,完成一個像Windows 3.1中的多任務系統,實際只用了一個線程,沒有利用Java多線程的特點。應該注意到,雖然Java系統中線程調度與平臺相關,但是相同優先級的線程之間分時運行的特點基本上是不受特定平臺影響的。各個相同優先級的線程共享動態分配CPU資源,而線程又被映射成了Java語言中的Thread對象。這些對象就可以被認為是CPU資源的代表。Thread與線程執行代碼主體的接口—Runnable之間是多對一的關系。一個Runnable可以被多個Thread執行。只要將Runnable的執行代碼設置成上述的消息調度函數,并和消息隊列對應上,那么就可以通過控制為它服務的Thread個數來決定消息隊列執行的快慢,并且在運行時可以動態地新增(new)和退出Thread對象。這樣就能任意調整不同消息隊列在執行時所占用CPU資源的多少。至此,任何一個Java調用都可以在Thread個數不同的消息隊列中選擇,并可以調整這些消息隊列服務的Thread個數,從而實現在運行時調整任務所占用的CPU資源。

縱觀整個方案,由于僅僅基于Java語言固有的Method對象,不同任務間動態分配CPU資源并沒有對任務的性質及其處理流程有任何限制,那么在消息隊列中沒有高優先級消息時,低優先級消息的處理函數自然會全部占用CPU資源。在不同消息隊列處理速度任意設置時,并沒有將特定的消息限制在快的或者慢的消息隊列上。如果系統的負荷超出(比如消息隊列長度超過一定限制),只要將隊列中低優先級消息換出或者拒絕不能處理的消息進入,那么系統的運行就可以基本上不受負荷壓力的影響,從而***保障用戶的關鍵業務需求。

當然,協調式多任務的思想也有其局限性,主要就是它的調度粒度比較大。系統能夠保證的粒度是一次消息處理過程。如果消息處理邏輯非常費時,那么編程人員就必須再處理函數內部,讓系統主動讓出CPU資源。這雖然需要在處理消息響應邏輯時增加一個考慮因素,但是,在Windows系統盛行的今天,這是一個已經被普遍接受的思路。由于方案中并沒有局限為消息隊列服務的線程數目,所以一個長時間的消息響應只會影響一個線程,而不會對整個系統產生致命的影響。除了調度粒度的問題以外,還有訪問消息隊列操作在各個線程間互斥的問題。取出消息的過程是串行化的,因此對于這一瓶頸的解決方案就是:假設取出一條消息的操作相對于處理消息的消耗可以忽略不計,那么對于多次調用且僅有兩三行響應邏輯的消息,編程人員通過函數調用就可以直接執行。

前面比較詳細地闡述了多任務系統中任務的劃分以及執行等內容。雖然這些是一個系統的核心,但是在一個實用的系統中,還需要任務間的同步、互斥等機制。在上述框架內,互斥可以簡單地用Java的Synchronized機制實現。由于任務可以主動讓出執行權限,要實現等待(Wait任務中止)和通知(Notify任務繼續),從而實現任務同步也就比較容易了。


 

【編輯推薦】

  1. Java SE 6中的垃圾回收器G1收費是虛驚一場
  2. Java虛擬機內部構成淺析
  3. 淺談Java線程的生命周期
  4. 淺談Java編程語言中創建和使用日期
  5. Java的異常和斷言學習筆記
責任編輯:佚名 來源: 網絡轉載
相關推薦

2011-05-18 10:42:48

2009-12-24 11:04:59

固定分配資源動態分配資源

2010-09-27 11:16:27

DHCP服務器動態分配

2021-12-01 10:50:31

C++存儲動態

2012-11-28 11:14:39

IBMdW

2011-07-28 16:06:34

IOS 應用程序 資源

2013-12-04 14:29:18

Android SDK應用程序

2016-03-12 21:46:56

Inspeckage應用程序動態分析

2009-04-01 14:33:33

2021-05-21 07:59:40

應用程序設計動態庫函數

2010-01-14 17:58:41

C++語言

2010-06-07 09:29:21

云計算

2010-12-01 15:28:19

ProbeVueJava

2009-07-29 10:30:53

Web應用程序ASP.NET

2011-06-14 14:57:06

QT Python GUI

2012-06-07 09:15:14

ibmdw

2012-05-29 10:04:08

2009-09-27 10:37:01

Java應用程序Hibernate

2011-04-01 11:01:02

應用程序BlackBerryJava

2015-01-06 09:59:59

云應用程序Java開發SQL
點贊
收藏

51CTO技術棧公眾號

性欧美18~19sex高清播放| 日韩 欧美 亚洲| 国产精品成人3p一区二区三区| 亚洲天堂免费看| 国产精品一区二区三区免费观看| 欧美性猛交bbbbb精品| 色999日韩| 亚洲变态欧美另类捆绑| 爆乳熟妇一区二区三区霸乳| 国内外激情在线| 91亚洲永久精品| 91视频国产高清| 亚洲第一精品在线观看 | 欧美aaaaa成人免费观看视频| 久久精品一区中文字幕| 污污内射在线观看一区二区少妇| 国产精品原创视频| 大荫蒂欧美视频另类xxxx| 伊人情人网综合| 亚洲欧洲视频在线观看| 国产精品一级二级三级| 国产97色在线|日韩| 在线免费日韩av| 国产影视精品一区二区三区| 日韩久久免费av| 青青草原国产在线视频| 625成人欧美午夜电影| 一级做a爱片久久| 亚洲欧美在线网| 日韩专区一区二区| 成人一区二区三区中文字幕| 成人伊人精品色xxxx视频| 国产午夜麻豆影院在线观看| 一区视频在线| 欧美精品一区二区三区国产精品| 日韩视频在线观看免费视频| 亚洲精品无吗| 日韩大片免费观看视频播放| 人妻av一区二区三区| 国产精品777777在线播放| 欧美影院一区二区| 欧美一级黄色影院| 亚洲人体影院| 欧美日韩免费在线观看| 福利视频免费在线观看| 午夜dj在线观看高清视频完整版| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产精品a久久久久久| 国产福利拍拍拍| 欧美日韩视频一区二区三区| 欧美另类在线播放| 美女的奶胸大爽爽大片| **女人18毛片一区二区| x99av成人免费| 波兰性xxxxx极品hd| 大片网站久久| 日韩中文第一页| 最新日韩免费视频| 97精品国产福利一区二区三区| 最近2019中文字幕一页二页| 极品人妻videosss人妻| 欧洲福利电影| 深夜福利亚洲导航| 91久久国产综合| 综合激情视频| 久久久最新网址| 日韩av片在线播放| 亚洲欧美不卡| 国产精品久久一| 国产女人高潮时对白| 国产一区久久久| 成人在线视频网址| 午夜国产在线观看| 国产欧美日韩麻豆91| 亚洲va久久久噜噜噜久久狠狠| av免费观看一区二区| 自拍偷拍亚洲综合| 日本男女交配视频| 五月天av在线| 欧美日韩成人一区二区| 香蕉网在线视频| 欧美日韩一区二区三区四区不卡| 亚洲欧美福利视频| 99精品中文字幕| 海角社区69精品视频| 国产69久久精品成人| 中文字幕有码视频| 国产精品538一区二区在线| 国产视色精品亚洲一区二区| 国产免费a∨片在线观看不卡| 国产精品免费看片| 国产va亚洲va在线va| 欧美日韩电影免费看| 91麻豆精品91久久久久同性| 日韩Av无码精品| 成人激情开心网| 欧美激情第6页| 波多野结衣毛片| 国产精品综合视频| 欧美二区三区在线| 手机电影在线观看| 色悠久久久久综合欧美99| 久久久久久久高清| 性欧美xxxx免费岛国不卡电影| 中文字幕亚洲第一| 日韩乱码人妻无码中文字幕| 麻豆国产精品一区二区三区| 狠狠色狠狠色综合人人| 美女羞羞视频在线观看| 狠狠躁天天躁日日躁欧美| 视频免费1区二区三区| 日韩av网址大全| 久久国产精品久久久| 无码无套少妇毛多18pxxxx| 国产成人精品1024| 影音先锋欧美资源| 超碰aⅴ人人做人人爽欧美| 91麻豆精品国产91久久久更新时间| 亚洲观看黄色网| 在线中文字幕第一区| 国产精品va在线播放| 人人妻人人玩人人澡人人爽| 专区另类欧美日韩| 中文字幕国产传媒| 日韩手机在线| 欧美激情网友自拍| 99国产在线播放| 欧美激情资源网| 不卡影院一区二区| 欧美自拍一区| 午夜精品久久久久久久99热浪潮 | 麻豆精品在线观看| 欧美精品欧美精品| 日本蜜桃在线观看视频| 精品日韩在线一区| 2018天天弄| 久久av资源网| 亚洲国产精品一区二区第一页| 人狥杂交一区欧美二区| 亚洲福利视频在线| 久青草免费视频| 国产乱国产乱300精品| 日韩不卡一二区| 国语精品视频| 久久天天躁夜夜躁狠狠躁2022| 亚洲中文一区二区三区| 中文字幕第一区二区| 亚洲老女人av| 日韩欧美精品| 国产日韩欧美日韩大片| 日本韩国在线视频爽| 欧美日韩国产高清一区二区三区| 蜜桃av乱码一区二区三区| 青青青爽久久午夜综合久久午夜| 日韩免费中文专区| 福利一区在线| 日韩中文字幕国产| 国产美女三级无套内谢| 一区二区在线电影| 久久久久久久久久影视| 在线观看一区视频| 美乳视频一区二区| 99re66热这里只有精品4| 一区二区在线视频| 一级成人免费视频| 亚洲激情一二三区| 在线观看免费视频国产| 国产日韩欧美高清免费| 欧美久久综合性欧美| 日韩毛片一区| 蜜臀久久99精品久久久久久宅男 | 成人一区二区三区视频在线观看| 久久99中文字幕| 国产va免费精品观看精品视频 | 狠狠干 狠狠操| 色综合中文网| 91色琪琪电影亚洲精品久久| 久久国产精品黑丝| 亚洲国产精品久久久久久| 午夜精品久久久久久久久久久久久蜜桃| 久久婷婷综合激情| 中文字幕在线综合| 激情久久综合| 奇米精品在线| 秋霞影院一区| 日韩av快播网址| 国产成人在线视频免费观看| 精品国产91乱码一区二区三区 | 欧美一区日韩一区| 国产成人精品片| 国产精品嫩草99a| 极品白嫩的小少妇| 日韩av成人高清| 日韩在线视频在线| 精品国产乱码久久久| 亚洲已满18点击进入在线看片| 国产传媒在线观看| 日韩一区在线视频| 午夜影院在线视频| 欧美电影一区二区| 一级片中文字幕| 中文字幕亚洲一区二区av在线 | 久久免费精品日本久久中文字幕| 欧美成熟毛茸茸| 欧美成人乱码一区二区三区| 国产一级片av| 亚洲图片欧美色图| 永久免费看片直接| 国产亚洲一二三区| 亚洲一区二区三区黄色| 激情深爱一区二区| 久久综合久久色| 亚洲性感美女99在线| 在线国产伦理一区| 久久最新网址| 国内精品视频免费| 美国十次综合久久| 国产欧美一区二区| 天天综合网站| 96精品视频在线| 成人黄色在线电影| 日韩在线播放视频| 国产一级在线| 亚洲免费视频观看| 蜜桃av中文字幕| 日韩欧美亚洲国产另类| 一卡二卡三卡在线| 欧美日韩一级视频| 国产99免费视频| 欧美日韩国产在线看| 久久免费精彩视频| 一区二区在线免费观看| 久久一级免费视频| 国产精品久久影院| av永久免费观看| 久久久久久97三级| 精品人妻少妇嫩草av无码| 菠萝蜜视频在线观看一区| 91人妻一区二区| 国产精品夜夜嗨| 涩多多在线观看| 国内精品久久久久影院色| 污污动漫在线观看| 捆绑调教美女网站视频一区| 超碰在线公开97| 免费日本视频一区| 手机在线成人免费视频| 全国精品久久少妇| www日韩视频| 免费高清在线一区| 999精彩视频| 麻豆精品精品国产自在97香蕉| 搡女人真爽免费午夜网站| 天堂av在线一区| 日本成人黄色网| 奇米综合一区二区三区精品视频| 男女爽爽爽视频| 人人狠狠综合久久亚洲| 少妇网站在线观看| 国精产品一区一区三区mba桃花 | 日本视频免费观看| 欧美在线短视频| 一级黄色片免费| 日韩一区和二区| 丰满人妻熟女aⅴ一区| 亚洲精品不卡在线| 蜜桃视频在线入口www| 综合国产在线视频| aa在线视频| 性色av一区二区三区| 欧美成人黑人| 成人黄色av免费在线观看| 一区二区精彩视频| 欧美久久久久久| 久久久久久久久99精品大| 免费日韩在线观看| 亚洲制服少妇| www.超碰97.com| 成人激情视频网站| 亚洲精品乱码久久久久久久久久久久| 国产精品视频第一区| www欧美com| 姬川优奈aav一区二区| 亚洲 小说区 图片区| 日韩一区二区不卡| 暖暖视频在线免费观看| 久久精品国产亚洲一区二区| xxxx在线视频| 国产精品观看在线亚洲人成网| 精品亚洲二区| 狠狠色伊人亚洲综合网站色| 成人一区二区| 国产色一区二区三区| 日本美女一区二区| 中国特级黄色大片| 国产精品久久久久久久久果冻传媒 | 人妻熟女一二三区夜夜爱| 美女视频网站黄色亚洲| 国产精品久久久免费观看| 国产精品久久免费看| 日韩精品――中文字幕| 7777精品伊人久久久大香线蕉的 | a级黄色小视频| 日韩va亚洲va欧美va久久| 麻豆av免费看| 国产精品久久久久影院| 日产精品久久久| 日韩免费成人网| 日韩三级影院| 91干在线观看| 美国十次综合久久| 一本一生久久a久久精品综合蜜| 99视频精品免费观看| 999久久久精品视频| 国产午夜精品久久久久久免费视 | 日本高清不卡一区| 国产同性人妖ts口直男| 一区二区三区视频在线| 这里有精品可以观看| 成人在线免费观看一区| 亚洲九九视频| 久久国产精品国产精品| 国产丝袜在线精品| 全部毛片永久免费看| 精品久久久久一区| av在线影院| 亚洲一区二区久久久久久久| 日产精品一区二区| 天天操天天爱天天爽| 久久婷婷国产综合精品青草| 日韩av黄色片| 亚洲二区在线播放视频| 久久大胆人体| 国产精品一区在线观看| 欧美+日本+国产+在线a∨观看| 亚洲色图偷拍视频| 国产精品久久久久久久浪潮网站 | 精品88久久久久88久久久| 成人黄色在线电影| 亚洲综合精品伊人久久| 在线看片不卡| 国产黄色一区二区三区| 亚洲精品国产成人久久av盗摄 | 国产精品自拍av| 国产福利视频网站| 在线综合+亚洲+欧美中文字幕| 九七电影韩国女主播在线观看| 国产精品一区二区久久| 日韩国产一区二区三区| 日韩av片专区| 专区另类欧美日韩| 精品人妻无码一区二区色欲产成人| 久久最新资源网| 一区二区三区国产好| 久久成人福利视频| www久久久久| 中文字幕国产在线观看| 亚洲系列中文字幕| 韩国精品视频在线观看| 综合一区中文字幕| 国产麻豆9l精品三级站| 久久午夜无码鲁丝片| 亚洲二区在线播放视频| 丁香六月综合| 亚洲欧美日韩精品久久久| 激情综合色丁香一区二区| 唐朝av高清盛宴| 亚洲国产免费av| 欧洲av不卡| 自拍另类欧美| 成人污视频在线观看| 九九热在线视频播放| 在线观看久久久久久| 亚洲最大的免费视频网站| 成人短视频在线观看免费| 99视频在线观看一区三区| 无码人妻黑人中文字幕| 久久久久999| 黄色网一区二区| www.99在线| 一级特黄大欧美久久久| 人操人视频在线观看| 国产日韩欧美在线看| 伊人久久婷婷| 欧美18—19性高清hd4k| 欧美一二区视频| 六月婷婷综合| 青青草影院在线观看| 91视频在线观看免费| 在线播放精品视频| 欧美激情一区二区三区成人 | 色婷婷777777仙踪林| 91视频.com| 91免费视频播放| 隔壁老王国产在线精品| 精品国产91| 男女性杂交内射妇女bbwxz| 欧美三级中文字幕在线观看| 日韩伦理av| 亚洲乱码国产乱码精品天美传媒|