精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

亚洲精品成人a8198a| 中文字幕亚洲欧美日韩在线不卡| 欧美精品卡一卡二| 日本天堂影院在线视频| 蜜臀av一区二区在线免费观看 | free性欧美hd另类精品| 国产成人精品网址| 欧洲亚洲免费视频| 日本 欧美 国产| 国产96在线亚洲| 欧美综合亚洲图片综合区| 伊人av成人| 午夜一区在线观看| 韩国精品一区二区| 国产成人av在线| 久久久久久久福利| 国产亚洲电影| 亚洲福利在线播放| 日本美女久久久| 91精品店在线| 婷婷六月综合网| 一区二区三区日韩视频| 欧美精品少妇| av一二三不卡影片| 亚洲在线观看视频| 一区精品在线观看| 国产精品外国| 久久久久久亚洲精品中文字幕| 亚洲欧美va天堂人熟伦| 精品福利一区| 欧美成人三级在线| 污污视频网站在线| 91av一区| 色综合色综合色综合色综合色综合| 伊人再见免费在线观看高清版| 欧美大片在线免费观看| 亚洲AV无码国产精品| 精品视频在线观看网站| 欧美日韩精品一区二区三区蜜桃 | 日本vs亚洲vs韩国一区三区二区| 97视频国产在线| 国产精品suv一区二区69| 综合视频在线| 久久在精品线影院精品国产| 手机看片福利视频| 小嫩嫩12欧美| 日韩精品在线视频| a视频免费观看| 国产在线播放精品| 亚洲大胆人体av| zjzjzjzjzj亚洲女人| 国产精品一区二区精品| 欧美精品日韩精品| 韩国一区二区在线播放| 亚洲精品一区av| 欧美一区二区三区四区视频| 午夜av中文字幕| 精品国产亚洲一区二区三区| 日韩一区二区三区在线观看 | 欧美国产中文高清| 日韩一区二区在线看| 国产精品无码自拍| 久久99精品久久久久久欧洲站| 亚洲成人性视频| 香蕉视频黄色在线观看| 精品中文一区| 成人亚洲一区| 91成人网在线| jizz18女人| 精品国产三级| 亚洲国产小视频| 国产免费无遮挡吸奶头视频| 日韩国产专区| 欧美精品性视频| 国产网友自拍视频| 久久综合伊人| 国产色婷婷国产综合在线理论片a| 97精品人妻一区二区三区香蕉| 久久国产婷婷国产香蕉| 亚洲综合日韩中文字幕v在线| 亚洲毛片在线播放| 91老司机福利 在线| 亚洲一区3d动漫同人无遮挡| 在线中文字幕电影| 黄色精品一区二区| 在线免费观看视频黄| 成人在线日韩| 日韩成人在线播放| 国产精品久久久免费看| 亚洲第一黄网| 国产精品久久久久久久久男| 91亚洲国产成人精品一区| 欧美日韩在线资源| 成人免费毛片a| 欧美婷婷久久| 天堂va在线| 在线免费观看不卡av| 日批视频在线看| 久操国产精品| 欧美极品第一页| 欧美性受xxx黑人xyx性爽| 粉嫩av一区二区三区| 欧美一区二区影视| 免费在线观看av电影| 欧美图片一区二区三区| 91丨porny丨对白| 欧美freesextv| 人九九综合九九宗合| 亚洲av色香蕉一区二区三区| 国产精品天干天干在观线| 黄色www网站| 久久综合偷偷噜噜噜色| 亚洲视频一区二区| 日本三级中文字幕| 国产原创一区二区| 色播亚洲视频在线观看| 欧美aa在线| 日韩精品最新网址| 男人av资源站| 日本伊人精品一区二区三区观看方式 | 久久精彩视频| 美足av综合网| 欧美日本一区二区三区| 精品无码人妻一区二区免费蜜桃| 免费电影日韩网站| 另类小说欧美激情| 欧美日韩一区二区三区在线视频 | 色久优优欧美色久优优| 国产日韩视频一区| 亚洲色图插插| 国产日韩欧美成人| 超碰免费在线| 欧洲一区在线观看| 男女做爰猛烈刺激| 麻豆91精品| 美女亚洲精品| 成人av一区| 91福利小视频| 亚洲一区视频在线播放| 久久亚洲电影| 日韩电影大全在线观看| 日韩一区二区三区在线免费观看 | 久久99精品久久久久久久青青日本| 97caopron在线视频| 欧美一区二区三区在| 免费三级在线观看| 国产一区二区视频在线播放| 日本黄色播放器| 国产精品日韩精品在线播放| 久久九九精品99国产精品| 国产精品毛片一区视频播| 中文字幕一区三区| 亚洲一二区在线观看| 一区二区免费不卡在线| 亚洲自拍欧美色图| 久久五月精品中文字幕| 亚洲成avwww人| 久久草视频在线| 久久久久久久免费视频了| 成人免费观看毛片| 欧美日韩在线观看视频小说| 国产日韩欧美中文在线播放| www免费在线观看| 欧美变态tickling挠脚心| 国产精选第一页| 91美女片黄在线观看| 男女曰b免费视频| 日韩久久电影| 99久久久精品免费观看国产| 91九色在线看| 国产亚洲在线播放| 91久久偷偷做嫩草影院| 国产成人精品无码高潮| 亚洲福利一区二区| 人妻少妇一区二区| 精彩视频一区二区| 成人免费网站入口| 五月天亚洲一区| 国产精品一二三视频| 最近中文字幕免费mv2018在线| 亚洲国产精彩中文乱码av在线播放| 可以免费在线观看的av| 国产精品乱码一区二区三区软件 | 欧美影院在线| 欧美一区亚洲一区| 日本在线人成| 日韩av一区在线观看| 亚洲一区二区三区高清视频| 亚洲电影在线播放| 日韩av片在线| 粉嫩av一区二区三区| 亚洲狼人综合干| 欧美精品播放| 午夜精品福利一区二区| 成人av动漫| 国产精品男女猛烈高潮激情| 九色91在线| 尤物tv国产一区| 人人妻人人澡人人爽精品日本| 欧美伊人久久大香线蕉综合69| 久久久精品国产sm调教| 中文在线免费一区三区高中清不卡| 性xxxxxxxxx| 久久久久网站| 97超碰国产精品| 欧美电影《睫毛膏》| 久久亚洲综合网| 秋霞午夜一区二区三区视频| 国产精品露脸av在线| 日本黄色免费在线| 久久视频免费在线播放| 国产精品视频一区二区久久| 亚洲国产精品推荐| 国产三级按摩推拿按摩| 在线免费观看日本一区| 国产高潮久久久| 亚洲午夜久久久久久久久电影院 | 国产精品密蕾丝袜| 成人午夜看片网址| 四虎成人在线播放| 免费观看成人鲁鲁鲁鲁鲁视频| 在线不卡a资源高清| 日本一区二区三区网站| 大陆成人av片| 一区二区三区人妻| 精品在线一区二区| 国产超碰在线播放| 天使萌一区二区三区免费观看| 男女日批视频在线观看| 欧美特黄一级| 水蜜桃在线免费观看| 91精品在线观看国产| 亚洲国内在线| 成人中文在线| 亚洲精品成人a8198a| 波多野结衣一区| 亚洲看片网站| 日本一区二区在线看| 台湾成人av| 欧美一区二区三区高清视频| 日韩久久不卡| 欧美日韩精品在线一区| 日韩三级电影网站| 欧美亚洲在线日韩| 视频一区二区三区在线观看| 精品国产一区二区三区久久久樱花 | 国产无遮挡又黄又爽又色视频| 日韩欧美在线看| 久久久成人免费视频| 色噜噜夜夜夜综合网| 久久久久久久久久一级| 精品视频在线免费看| 亚洲最大成人av| 777奇米四色成人影色区| 一级α片免费看刺激高潮视频| 欧美性感一类影片在线播放| 国产又粗又猛又爽又黄91| 欧美精品1区2区| 99免费在线视频| 精品国产一区二区三区忘忧草| 成人免费视频国产| 日韩黄色av网站| 国产福利小视频在线观看| 日韩在线欧美在线国产在线| 爆操欧美美女| 性金发美女69hd大尺寸| 欧美18av| 91久久久国产精品| 大型av综合网站| 欧美成ee人免费视频| 久久理论电影| 国产午夜精品视频一区二区三区| 亚洲激情另类| 美女网站视频黄色| 国产精品1区2区| 在线观看国产网站| 欧美国产在线观看| 激情五月少妇a| 欧美丝袜一区二区三区| 一级黄色片网站| 精品国产一区二区三区四区四| 毛片在线播放网站| 国产精品短视频| 欧美午夜精品理论片a级大开眼界 欧美午夜精品久久久久免费视 | 午夜两性免费视频| 免费精品视频在线| 美女日批在线观看| 99久久er热在这里只有精品15| b站大片免费直播| 亚洲免费观看视频| 91美女免费看| 欧美精品 日韩| 亚州视频一区二区三区| 色偷偷88888欧美精品久久久| 免费看电影在线| 国产精品日韩av| 国产精品天天看天天狠| 亚洲欧美日韩精品在线| 在线欧美亚洲| 日本黄色的视频| 91免费在线看| 91视频免费在线看| 欧美在线综合视频| 天堂av资源网| 欧美理论片在线观看| 国产成+人+综合+亚洲欧美| 国产精品免费视频一区二区 | 久久精品精品电影网| 最近在线中文字幕| www.一区二区三区| 99re6这里只有精品| 欧美日韩在线中文| 国产大陆a不卡| 韩国一级黄色录像| 日本久久一区二区| 五十路在线视频| 欧美黄色www| 国产精品美女久久久久| 四虎永久国产精品| 久久久国产亚洲精品| 97精品人妻一区二区三区蜜桃| 亚洲色图20p| 亚洲综合五月天婷婷丁香| 国产一区二区美女视频| 在线观看网站免费入口在线观看国内| 超碰97在线人人| 欧美99久久| 三级黄色片免费看| 亚洲欧美综合色| 亚洲系列第一页| 日韩视频免费看| 亚洲精品伦理| 永久久久久久| 久久99蜜桃精品| 日本伦理一区二区三区| 欧美性猛片aaaaaaa做受| av电影在线观看网址| 国产精品国语对白| 国产女人高潮的av毛片| 91美女在线视频| 在线观看免费国产视频| 亚洲国产精品人人爽夜夜爽| 91桃色在线观看| 久久爱av电影| 久久久久国产精品一区二区| 亚洲一区二区三区蜜桃| 91久久久免费一区二区| 成人精品一区二区三区免费| 国产欧美亚洲视频| 日韩欧美精品| 国产欧美精品一二三| 一区二区三区在线影院| 亚洲第一天堂网| 97精品国产97久久久久久| 色老板在线视频一区二区| 欧美 日韩 国产一区| 久久久精品综合| 中文字幕av网站| 久久亚洲私人国产精品va| 视频精品一区| 日日摸日日碰夜夜爽无码| 91香蕉视频mp4| 日韩免费av网站| xxx成人少妇69| 大型av综合网站| 久久9精品区-无套内射无码| 国产欧美精品一区aⅴ影院| ,一级淫片a看免费| 精品中文字幕在线观看| 欧美三级午夜理伦三级在线观看| 国产肥臀一区二区福利视频| 欧美韩国一区二区| 亚洲a视频在线| 欧美亚洲激情视频| 色综合天天爱| 中文字幕18页| 色婷婷精品大在线视频| 超鹏97在线| 久久精品日产第一区二区三区精品版| 日韩av一二三| 久草视频在线资源| 亚洲人成电影在线观看天堂色| 亚洲欧洲二区| 男人日女人下面视频| 国产精品乱码一区二三区小蝌蚪| 成人h动漫精品一区二区无码| 欧美亚洲国产视频小说| 亚洲澳门在线| 精品久久久久久中文字幕人妻最新| 欧美军同video69gay| 天堂中文最新版在线中文| 亚洲综合第一| 91老师片黄在线观看| av观看在线免费| 国产成人精品免高潮在线观看| 午夜精品久久99蜜桃的功能介绍| 亚洲av无码一区二区三区人| 精品久久久久久久久久久院品网| yw.尤物在线精品视频| 韩日视频在线观看|