999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

網(wǎng)絡(luò)程序設(shè)計(jì)中的并發(fā)復(fù)雜性

2011-08-15 00:52:53計(jì)
科技傳播 2011年18期
關(guān)鍵詞:程序模型

計(jì) 然

福建師范大學(xué)協(xié)和學(xué)院信息技術(shù)系,福建福州 350108

網(wǎng)絡(luò)程序設(shè)計(jì)中的并發(fā)復(fù)雜性

計(jì) 然

福建師范大學(xué)協(xié)和學(xué)院信息技術(shù)系,福建福州 350108

基于網(wǎng)絡(luò)的應(yīng)用程序與基于單人PC的應(yīng)用程序有著很大的不同,網(wǎng)絡(luò)環(huán)境對(duì)于網(wǎng)絡(luò)程序的影響巨大。在網(wǎng)絡(luò)程序開發(fā)過程中遇到的各種困難里,由于并發(fā)帶來的問題是一個(gè)到現(xiàn)在都沒有徹底解決的問題,并發(fā)問題的存在使網(wǎng)絡(luò)程序開發(fā)遇到了一個(gè)難題。本文將介紹一些并發(fā)處理模型,并分析其復(fù)雜性。

網(wǎng)絡(luò)程序;并發(fā);復(fù)雜性

1 網(wǎng)絡(luò)程序的并發(fā)性問題描述

并發(fā)為宏觀上的并行,微觀上的串行,與在單核處理器的單人計(jì)算機(jī)上運(yùn)行多線程類似,其本質(zhì)上與微觀下同為并行的“并行”并不相同。雖然并發(fā)與并行有許多相似之處,但是其處理方法并不相同。并發(fā)性問題的處理,不僅對(duì)單機(jī)有意義,對(duì)于網(wǎng)絡(luò)應(yīng)用程序同樣具有重大的意義。最初的并發(fā)性問題來源于操作系統(tǒng),網(wǎng)絡(luò)程序設(shè)計(jì)中遇到的并發(fā)性問題與操作系統(tǒng)的并發(fā)性其有相似之處,其理念是通用的。在并發(fā)性問題的處理上,有不同的管理方法與理念,盡管人們?cè)谶@個(gè)問題上研究了數(shù)十年,但是現(xiàn)今也沒有研究出一種方法能夠做到讓大多數(shù)人滿意,現(xiàn)有的主流并發(fā)模型依然是以往的基于事件的驅(qū)動(dòng)模型以及多線程模型,這兩種模型各自有各自的特點(diǎn),在不同的環(huán)境下能夠發(fā)揮的性能也不同,并不存在一個(gè)模型一定優(yōu)于另一個(gè)模型的情況。模型的使用需要根據(jù)環(huán)境而定,而后又出現(xiàn)了一種混合模型。

2 基于事件的驅(qū)動(dòng)并發(fā)模型

當(dāng)前的計(jì)算機(jī)基本上使用的都是馮.諾依曼計(jì)算機(jī)模型,除了此模型之外還存在著依靠其他信息進(jìn)行驅(qū)動(dòng)的計(jì)算機(jī)模型,而事件驅(qū)動(dòng)的并發(fā)模型就有些類似數(shù)據(jù)流驅(qū)動(dòng)的計(jì)算機(jī)模型。使用事件驅(qū)動(dòng)在網(wǎng)絡(luò)程序中的應(yīng)用非常廣泛,按照操作調(diào)配時(shí)機(jī)不同,可以分為反應(yīng)式與前攝式。反應(yīng)式為在當(dāng)需要數(shù)據(jù)滿足條件是再進(jìn)行操作,而前攝式是先操作后等待事件的完成。在使用事件驅(qū)動(dòng)的并發(fā)模型中,事件狀態(tài)的維護(hù)以及函數(shù)間關(guān)系維護(hù)以及函數(shù)運(yùn)行時(shí)機(jī)的處理都是由事件分派器進(jìn)行處理完成的,函數(shù)與函數(shù)之間的通信很多時(shí)候是通過事件來完成的,而事件的維護(hù)是由事件分派器進(jìn)行的。所以在函數(shù)完成其特定操作后必須交出CPU控制權(quán),并由事件分派器進(jìn)行下一步的處理,并依據(jù)次事件繼續(xù)程序的運(yùn)行調(diào)度,形成了控制流反轉(zhuǎn)。如上所訴,基于事件驅(qū)動(dòng)的任務(wù)之間的關(guān)系需要經(jīng)過底層的事件分派器的處理,那么就需要對(duì)函數(shù)進(jìn)行拆分,又引發(fā)了函數(shù)分裂問題。如果處理不當(dāng),大量的函數(shù)分裂不但會(huì)影響程序的調(diào)試難度(調(diào)試器是不會(huì)理解一個(gè)事件所代表的含義的),還有可能造成內(nèi)存泄露等問題。事件驅(qū)動(dòng)的函數(shù)的被調(diào)用需要其調(diào)用者也是基于事件驅(qū)動(dòng)的函數(shù),而基于事件驅(qū)動(dòng)函數(shù)就需要進(jìn)行函數(shù)分裂,大量的被迫函數(shù)分裂無疑會(huì)使函數(shù)內(nèi)部細(xì)節(jié)暴露在外,無益于函數(shù)的封裝,降低了模塊的復(fù)用性。

3 多線程的并發(fā)模型

在多線程并發(fā)模型中,線程的調(diào)度可以劃分為兩種,一種是搶占式,另一種是協(xié)作式。有系統(tǒng)內(nèi)核對(duì)線程進(jìn)行調(diào)度管理的屬于搶占式,線程的運(yùn)行與否不由應(yīng)用層控制,而協(xié)作式主要是用應(yīng)用層協(xié)作方式運(yùn)行任務(wù)線程。因?yàn)橹鴥煞N調(diào)度方法的不同,其表現(xiàn)出來的特征以及衍生的問題也具有明顯的差異。

在搶占式調(diào)度中,CPU的控制權(quán)在調(diào)度器的管理之下,調(diào)度器不會(huì)了解當(dāng)前線程執(zhí)行的詳細(xì)情況,調(diào)度器對(duì)線程的調(diào)度是強(qiáng)制性的,也就是說調(diào)度器可能在一個(gè)不應(yīng)該暫停線程的時(shí)候?qū)PU的控制權(quán)強(qiáng)行轉(zhuǎn)移給了另外的一個(gè)線程。這樣做的后果是極有可能當(dāng)前線程需要的數(shù)據(jù)上一個(gè)線程沒有處理妥當(dāng),造成數(shù)據(jù)競(jìng)爭(zhēng),嚴(yán)重的會(huì)帶來死鎖問題,致使程序崩潰。而協(xié)作式多線程調(diào)度在CPU的控制權(quán)方面明顯優(yōu)于搶占式調(diào)度,協(xié)作式調(diào)度中,CPU的控制權(quán)只有當(dāng)當(dāng)前線程放棄時(shí)才轉(zhuǎn)移到其他線程,這種調(diào)度方法可以更好的利用處理器的并行能力,協(xié)作式調(diào)度表現(xiàn)出的問題是實(shí)時(shí)性不如搶占式,在對(duì)實(shí)時(shí)性要求高的任務(wù)中,搶占式對(duì)協(xié)作式有一定的優(yōu)勢(shì)。多線程并發(fā)模型相對(duì)于事件驅(qū)動(dòng)模型的問題是靈活性低,移植性太差等。

4 混合性并發(fā)模型

以上介紹的兩種并發(fā)模型在網(wǎng)絡(luò)程序設(shè)計(jì)中是主流的并發(fā)管理方法,鑒于兩種方法各有特點(diǎn),于是開始有研究人員嘗試結(jié)合這兩種方法建立了混合并發(fā)模型。其主要的實(shí)現(xiàn)思想是進(jìn)行驅(qū)動(dòng)形式轉(zhuǎn)換,可以根據(jù)編譯時(shí)轉(zhuǎn)換與運(yùn)行時(shí)轉(zhuǎn)換大致的分類。編譯時(shí)轉(zhuǎn)換的混合并發(fā)模型具有一個(gè)相同的問題需要解決,就是其通用性較差。不能很好的與其他體系的程序進(jìn)行相互協(xié)作式。而基于運(yùn)行時(shí)轉(zhuǎn)換的混合模型沒有這個(gè)問題,已經(jīng)有技術(shù)可以同時(shí)支持事件驅(qū)動(dòng)與多線程這兩種不同的并發(fā)模型,但是其實(shí)現(xiàn)方法復(fù)雜且沒有異常處理機(jī)制。總的來說,目前沒有一種完美的方法來進(jìn)行兩種模型之間的融合。在混合模型的使用方面,由于混合模型誕生的較晚,實(shí)際應(yīng)用效果與研究較少,其性能還有待于進(jìn)一步檢驗(yàn)。

5 結(jié)論

隨著云的興起,以及技術(shù)的逐步成熟,軟件開始越來越明顯的表示出網(wǎng)絡(luò)化的趨勢(shì)。并發(fā)問題便成了軟件網(wǎng)絡(luò)化中不可回避的一個(gè)問題,經(jīng)過幾十年的努力,并發(fā)問題仍然沒有得到有效的解決,沒有一種有效的辦法可以對(duì)并發(fā)問題進(jìn)行簡(jiǎn)化。當(dāng)前能做的是提升現(xiàn)有解決辦法的并發(fā)處理能力,無論哪種并發(fā)模型都有很大的提升空間。其次是將程序應(yīng)用功能分類進(jìn)行處理,盡量的縮小并發(fā)處理規(guī)模。相信隨著技術(shù)的進(jìn)步,并發(fā)問題必將得到很好的解決。

[1]唐潔.VC++多線程開發(fā)技術(shù)[J].電腦編程技巧與維護(hù),2007.

[2]王鵬,常征.算法隱含并行性的物理模型[J]電子科技大學(xué)學(xué)報(bào),2009(4).

[3]李文軍,周曉聰,李師賢.并發(fā)模型的分類與層次[J].計(jì)算機(jī)科學(xué),2000(3).

[4]周光明,高繼民.基于對(duì)象的并發(fā)模型[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008.

[5]陳艷.并發(fā)實(shí)時(shí)系統(tǒng)的模型及其形式化[D].廣西師范大學(xué),2008.

[6]史琦,楊海成,李原.基于事件驅(qū)動(dòng)的協(xié)同設(shè)計(jì)系統(tǒng)研究[J].工程圖學(xué)學(xué)報(bào),2003.

TP39

A

1674-6708(2011)51-0165-01

猜你喜歡
程序模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
試論我國(guó)未決羈押程序的立法完善
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
3D打印中的模型分割與打包
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
主站蜘蛛池模板: 午夜日b视频| 色老头综合网| 99视频精品全国免费品| 亚洲黄色成人| 人妻少妇乱子伦精品无码专区毛片| 成人在线天堂| 精品一区二区久久久久网站| 精品無碼一區在線觀看 | 92精品国产自产在线观看| 毛片视频网址| 国产亚洲精品资源在线26u| 欧美不卡视频在线| 国内丰满少妇猛烈精品播| 国产99视频在线| 日本不卡在线| 五月天综合婷婷| 91国内外精品自在线播放| 欧美天堂在线| 国产区人妖精品人妖精品视频| 国产三级成人| 2021国产v亚洲v天堂无码| 日本国产一区在线观看| 亚洲一区二区在线无码| 色婷婷成人网| 欧美一级大片在线观看| 国产精品免费露脸视频| 亚洲伊人久久精品影院| www亚洲天堂| 国产超碰在线观看| 欧美在线视频不卡| 国产精品免费福利久久播放| 日韩欧美中文| 五月婷婷丁香色| 天天躁夜夜躁狠狠躁图片| 亚洲免费人成影院| 精品偷拍一区二区| 国产杨幂丝袜av在线播放| 国产视频一区二区在线观看| 亚洲精品无码人妻无码| 欧美成人亚洲综合精品欧美激情| 欧美激情视频二区三区| 国产成人久视频免费| 国内精品久久久久久久久久影视 | 国产日韩丝袜一二三区| 国产精品久久久免费视频| 国产毛片基地| 欧美第二区| 精品国产黑色丝袜高跟鞋| AV不卡无码免费一区二区三区| 国产又黄又硬又粗| 久久永久视频| 无码专区在线观看| 欧美午夜视频| 中文字幕第1页在线播| 亚洲一区二区三区国产精华液| 福利片91| 免费Aⅴ片在线观看蜜芽Tⅴ| 亚洲最大情网站在线观看| 麻豆精选在线| 亚洲第一黄片大全| 国产a在视频线精品视频下载| 欧美三级视频网站| 丝袜无码一区二区三区| 操国产美女| 亚洲第一香蕉视频| 亚洲国产欧美国产综合久久 | 成年人视频一区二区| 视频二区亚洲精品| 91精品久久久久久无码人妻| AV无码无在线观看免费| 国产一区二区三区在线精品专区 | 久久国产精品麻豆系列| 亚洲国产成人在线| 99视频有精品视频免费观看| 青草娱乐极品免费视频| 无码精品国产VA在线观看DVD | 国产三区二区| AV不卡无码免费一区二区三区| 一级毛片高清| 在线日本国产成人免费的| 色综合久久久久8天国| 一级毛片不卡片免费观看|