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

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

開發 后端
Java的線程調度操作在運行時是與平臺無關的。一個多任務系統需要在任務之間實現QoS(Quality of Service)管理時,如果CPU資源的分配基于Java線程的優先級,那么它在不同平臺上運行時的效果是很難預測的。本文利用協調式多任務模型,提出一個與平臺無關、并且能在任務間動態分配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. 新手入門JavaWeb三層架構的配置詳解
  2. 針對Java的攻擊上升14倍
  3. 常見的十四種Java開發工具的特點
  4. 19個很有用的JavaScript庫強烈推薦
  5. Java中的四個核心技術思想
責任編輯:于鐵 來源: 互聯網
相關推薦

2009-06-18 15:41:36

動態分配CPUJava

2009-12-24 11:04:59

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

2018-10-29 10:13:29

Windows 10應用程序卸載

2019-08-13 15:39:27

Linux應用程序

2018-03-28 08:30:01

Linux倉庫應用程序

2019-05-08 11:30:41

MicrosoftWindows 10后臺應用程序

2011-01-28 09:12:53

jQuery Mobi

2016-08-02 10:34:17

LinuxWindows雙啟動

2021-05-07 15:36:50

iOS隱藏應用程序

2010-09-27 11:16:27

DHCP服務器動態分配

2021-01-30 17:57:23

Python緩存開發

2013-03-25 10:38:24

ASP.NETHttpModule

2021-12-01 10:50:31

C++存儲動態

2014-06-26 15:17:17

安卓應用保存數據

2019-01-04 10:45:31

Windows 10Android應用程序

2018-08-02 11:15:06

應用程序Windows 10Windows

2019-07-17 15:23:23

Windows 10應用程序Windows

2019-12-06 10:05:28

Windows 10手機應用程序

2011-10-13 16:34:30

MeeGoQt插件

2015-03-30 09:32:15

XcodeiOS應用程序
點贊
收藏

51CTO技術棧公眾號

熟妇高潮一区二区三区| 色www亚洲国产阿娇yao| 欧美videosex性欧美黑吊| 国产成人午夜精品影院观看视频| 欧美黄色片免费观看| 99久久免费看精品国产一区| 亚洲精品动漫| 日韩一区欧美一区| 国产在线精品一区二区三区》| av大全在线观看| 欧美电影免费| 精品欧美一区二区三区精品久久| 国产精品亚洲a| 麻豆传媒在线免费看| 成人中文字幕合集| 国产精品日韩在线播放| 国产精品111| 精品国产欧美日韩| 精品三级av在线| 亚洲天堂av线| av漫画网站在线观看| 一区二区中文字幕在线| 精品蜜桃一区二区三区| 97视频免费在线| 国产午夜精品一区二区三区欧美| 最近日韩中文字幕中文| 中文字幕 亚洲一区| 四虎国产精品成人免费影视| 欧美日韩人人澡狠狠躁视频| 强开小嫩苞一区二区三区网站 | 生活片a∨在线观看| 成人免费av网站| 国产日韩欧美成人| 亚洲欧美一区二区三区在线观看| 国产精品九九| www.美女亚洲精品| 色欲AV无码精品一区二区久久 | 亚洲精品天堂| 国产精品毛片无遮挡高清| 激情小说综合区| 性生活黄色大片| 精品一区免费av| 国产精品久久久久久久7电影| 日韩少妇高潮抽搐| 亚洲最新色图| 久久精品国产91精品亚洲| 中文字幕国产综合| 亚洲精品小区久久久久久| 精品国产污污免费网站入口| 麻豆传媒在线看| 9999精品视频| 9191久久久久久久久久久| 午夜免费一区二区| 日本欧美不卡| 欧美私人免费视频| wwwwww.色| 国产一区二区主播在线| 欧洲激情一区二区| 亚洲黄色av网址| 91欧美精品| 欧美午夜不卡在线观看免费| 欧美国产日韩在线播放| 欧美日韩尤物久久| 欧美午夜电影网| 欧美美女性视频| 欧美一级做a| 欧美日韩国产首页在线观看| 日韩av一卡二卡三卡| 色婷婷成人网| 91精品国产91热久久久做人人| 久久精品视频在线观看免费| 久久精品九色| 欧美成人a视频| 亚洲成年人av| 任我爽精品视频在线播放| 国产视频一区在线| 娇妻被老王脔到高潮失禁视频| 精品国产一级毛片| 另类天堂视频在线观看| 久久久久久久极品内射| 亚洲欧洲综合| 国产97色在线| 国产又粗又猛又爽又黄视频| 国产精品影视在线观看| 国产一区二区视频在线免费观看 | 动漫精品一区一码二码三码四码| 亚洲图片在线| 欧美夜福利tv在线| 一区二区自拍偷拍| 国产suv精品一区二区883| 久草精品电影| 1769在线观看| 亚洲午夜成aⅴ人片| aa在线免费观看| 欧美激情福利| 日韩精品在线看片z| 一级做a爰片毛片| 日韩欧美网址| 欧美乱妇高清无乱码| 亚洲欧美一区二区三区在线观看| 久久成人综合网| 国产精品 日韩| www在线免费观看| 亚洲自拍偷拍九九九| 欧美精品色婷婷五月综合| 日韩毛片免费视频一级特黄| 亚洲激情在线观看| 色www亚洲国产阿娇yao| 国产日本精品| 成人免费视频网址| 日韩二区三区| 一区二区国产视频| 波多结衣在线观看| 六月丁香久久丫| 久久中文精品视频| 国产第一页在线观看| 国产精品18久久久久久久久 | 色婷婷中文字幕| 国产精品第四页| 国产男女在线观看| youjizzjizz亚洲| 日韩在线观看免费全| 国产三级av片| 高清在线观看日韩| 一区二区三区三区在线| 亚洲黄色中文字幕| 精品国产亚洲在线| 久草综合在线视频| 免费在线欧美视频| 欧美h视频在线| h片在线观看视频免费| 91精品欧美综合在线观看最新| 熟女少妇内射日韩亚洲| 国产精品毛片在线| 国产激情美女久久久久久吹潮| 欧美人xxx| 欧美综合视频在线观看| a级大片在线观看| 亚洲欧美日韩国产| 国产呦系列欧美呦日韩呦| 亚洲综合伊人久久大杳蕉| 欧美日韩国产a| 波多野在线播放| 久久99伊人| 蜜桃在线一区二区三区精品| 黄色18在线观看| 精品国产免费视频| 精品久久免费视频| 成人av电影在线网| 久久这里只有精品23| 成人av地址| 国内精品模特av私拍在线观看| 精品国产av一区二区| 樱花影视一区二区| 男人女人拔萝卜视频| 中文字幕一区二区av | 国产亚洲va综合人人澡精品| 欧美日韩在线中文| 午夜精品福利影院| 欧美与欧洲交xxxx免费观看 | 91视视频在线观看入口直接观看www | 日韩大尺度在线观看| 777午夜精品福利在线观看| 天天操天天干天天干| 一区二区三区蜜桃网| youjizz.com日本| 夜夜嗨av一区二区三区网站四季av| 国产精品一区二区免费| 亚洲电影观看| 亚洲网站在线观看| 亚洲天堂国产精品| 一区二区三区在线观看视频| 国产污在线观看| 亚洲一区视频| 一本一生久久a久久精品综合蜜| 久久亚洲国产精品尤物| 欧美裸体xxxx极品少妇| 蜜臀久久精品久久久久| 色婷婷香蕉在线一区二区| 久久午夜精品视频| 国产福利精品一区| 青青草原av在线播放| 欧美最新另类人妖| 91色中文字幕| √天堂8资源中文在线| 亚洲欧美视频在线| 国产精品女人久久久| 亚洲国产美女搞黄色| 亚洲天堂视频一区| 精品在线一区二区三区| 国产午夜大地久久| 青青草国产免费一区二区下载| 亚洲精品免费网站| 在线观看特色大片免费视频| 日韩中文在线视频| 天天插天天干天天操| 欧美日韩免费高清一区色橹橹| 国产又黄又爽又无遮挡| 久久综合久久综合九色| 中文字幕 欧美日韩| 日韩一级免费| 中文字幕在线观看一区二区三区| 午夜精品在线| 国产成人极品视频| 青青草原av在线| 永久免费精品影视网站| 丰满少妇在线观看bd| 欧美性猛交xxxx黑人交| 日韩精品在线免费看| 国产精品久久久久久久久果冻传媒| 动漫av在线免费观看| 日本成人中文字幕在线视频| 欧美高清中文字幕| 成人区精品一区二区婷婷| 国产一区二区免费电影| 精品网站999| 国产精品99久久久久久白浆小说| 视频在线观看入口黄最新永久免费国产| 亚洲欧美日韩区| 四季av日韩精品一区| 欧美一区二区视频在线观看2020| 日韩毛片一区二区三区| 一区二区三区 在线观看视频| 天天舔天天操天天干| 91麻豆.com| 天堂www中文在线资源| 激情图区综合网| 亚洲欧美在线精品| 久久久噜噜噜久久狠狠50岁| 成年人看的毛片| 综合久久久久| 中文字幕日韩精品久久| 日韩欧美精品一区| 日韩福利一区二区三区| 久久不见久久见国语| 久久66热这里只有精品| 噜噜噜天天躁狠狠躁夜夜精品| 成人av播放| 亚洲视频国产精品| 亚洲japanese制服美女| www欧美在线观看| 成人黄色午夜影院| 成人午夜毛片| 国产精品久久久久免费a∨大胸| 欧美男人天堂| 97免费在线视频| 精精国产xxxx视频在线播放| 国模精品一区二区三区色天香| 国产原创精品视频| 久久视频这里只有精品| 国产精品一卡二卡三卡 | 任你弄在线视频免费观看| 美女精品视频一区| 成人免费网站在线观看视频| 日韩中文字幕在线免费观看| 1769在线观看| 久久在线视频在线| 欧洲性视频在线播放| 欧美精品video| 波多野结衣视频一区二区| 97久久精品视频| 91av亚洲| 国产精品久久久av久久久| 99久久久国产精品免费调教网站 | 精品国偷自产一区二区三区| 亚洲特级毛片| 91精品91久久久中77777老牛| 亚洲免费中文| 国产嫩草在线观看| 黄色小说综合网站| 欧美图片自拍偷拍| 26uuu亚洲婷婷狠狠天堂| 亚洲成人黄色av| 亚洲国产精品二十页| 五月天激情丁香| 亚洲成人资源网| 天堂网中文字幕| 欧美色视频在线| 性猛交富婆╳xxx乱大交天津| 亚洲电影免费观看高清完整版在线观看 | 日韩中文字幕1| 日韩av片专区| 国产成人啪午夜精品网站男同| 色综合久久五月| 日本一区免费视频| 国产成人无码aa精品一区| 婷婷成人综合网| 中文文字幕一区二区三三| 日韩亚洲欧美成人一区| 免费av一级片| 中文字幕亚洲国产| 99福利在线| 国产成人精品一区二区在线| 日日狠狠久久| 久久久久久a亚洲欧洲aⅴ| 91欧美在线| 国产3p露脸普通话对白| 日本强好片久久久久久aaa| www.久久com| 国产亚洲一区字幕| 欧美久久久久久久久久久久| 在线视频一区二区三区| www.com欧美| 亚洲性生活视频| 九色91在线| 国产精品主播视频| 清纯唯美亚洲经典中文字幕| 欧美aaa在线观看| 免费在线播放第一区高清av| 成人高清在线观看视频| 国产日韩欧美在线一区| 日本a在线观看| 在线不卡中文字幕| 国产三区四区在线观看| 国内偷自视频区视频综合 | 欧美性生活一区| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的| 中文字幕亚洲一区在线观看| 日韩伦理在线一区| 成人免费在线一区二区三区| 日韩欧美中文| 日韩中文字幕免费在线| 成人一区二区三区中文字幕| 永久免费看片视频教学| 色综合视频一区二区三区高清| 成人1区2区3区| 播播国产欧美激情| 中韩乱幕日产无线码一区| 老牛影视免费一区二区| 一区久久精品| 在线观看国产福利| 中文字幕高清不卡| 91午夜精品亚洲一区二区三区| 亚洲国产精品va在线看黑人| 最新黄网在线观看| 成人a免费视频| 日韩欧美高清| the porn av| 日本一区二区免费在线 | 精品自拍一区| 国产精品久久久久久久久久免费| 亚州综合一区| 国产免费黄色av| 97aⅴ精品视频一二三区| 国产精品成人久久| 亚洲成人aaa| av中文在线资源| 国产伦精品一区二区三区四区免费 | 日韩区在线观看| 成人ww免费完整版在线观看| 国产中文字幕亚洲| 91成人免费| 亚洲精品无码久久久久久久| 亚洲精品国产第一综合99久久| a级片免费视频| 欧美极品在线播放| 国产福利一区二区精品秒拍| 久久久久久久久久网| www.成人在线| 性无码专区无码| 国产亚洲激情在线| 国产成人精品一区二区三区免费| 性欧美.com| 国产精品一区二区黑丝| 久久精品国产亚洲av麻豆色欲 | 亚洲成人激情小说| 亚洲一区二区三区四区五区黄| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的| 国自产精品手机在线观看视频| 欧美aaaaaaaa牛牛影院| 99精品免费在线观看| 国产亚洲福利社区一区| 136福利视频导航| 欧美激情精品久久久久久蜜臀| 久久久亚洲欧洲日产| 免费看a级黄色片| 自拍偷拍亚洲欧美日韩| 亚洲精品中文字幕成人片 | 99热在线观看免费精品| 亚洲女人天堂av| 亚洲欧美一级| 欧美亚洲黄色片| 国产亚洲欧美中文| 国产又粗又猛又爽| 91av在线看| 日韩电影二区| 欧美图片自拍偷拍| 欧美伊人久久久久久久久影院| mm1313亚洲国产精品美女| 精品日产一区2区三区黄免费| 日韩精品一级中文字幕精品视频免费观看| 色www亚洲国产阿娇yao| 精品久久一区二区| 日韩精品第一| 热99这里只有精品| 国产精品视频麻豆| 天天操天天干天天舔| 国产一区二区色| 国产一区二区三区的电影| 色撸撸在线视频|