亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2011-08-15 00:52:53
        科技傳播 2011年18期
        關(guān)鍵詞:線程協(xié)作調(diào)度

        計 然

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

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

        計 然

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

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

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

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

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

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

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

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

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

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

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

        5 結(jié)論

        隨著云的興起,以及技術(shù)的逐步成熟,軟件開始越來越明顯的表示出網(wǎng)絡(luò)化的趨勢。并發(fā)問題便成了軟件網(wǎng)絡(luò)化中不可回避的一個問題,經(jīng)過幾十年的努力,并發(fā)問題仍然沒有得到有效的解決,沒有一種有效的辦法可以對并發(fā)問題進(jì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é)報,2009(4).

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

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

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

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

        TP39

        A

        1674-6708(2011)51-0165-01

        猜你喜歡
        線程協(xié)作調(diào)度
        《調(diào)度集中系統(tǒng)(CTC)/列車調(diào)度指揮系統(tǒng)(TDCS)維護(hù)手冊》正式出版
        一種基于負(fù)載均衡的Kubernetes調(diào)度改進(jìn)算法
        團(tuán)結(jié)協(xié)作成功易
        虛擬機(jī)實(shí)時遷移調(diào)度算法
        協(xié)作
        讀者(2017年14期)2017-06-27 12:27:06
        淺談linux多線程協(xié)作
        協(xié)作
        讀寫算(下)(2016年9期)2016-02-27 08:46:31
        可與您并肩協(xié)作的UR3
        SVC的RTP封裝及其在NS2包調(diào)度中的應(yīng)用研究
        Linux線程實(shí)現(xiàn)技術(shù)研究
        国内精品伊人久久久久影院对白 | 老熟妇Av| 亚洲av日韩一区二三四五六七| 国产av一区二区亚洲精品| 五月丁香综合激情六月久久| 人妻人人澡人人添人人爽人人玩| 亚洲精品国产不卡在线观看| 久久人妻少妇嫩草av蜜桃| 人人妻人人澡人人爽超污| 亚洲精品无码久久久久sm| 久久久久亚洲AV片无码乐播| 熟女少妇精品一区二区三区| 全黄性性激高免费视频| 中文字幕亚洲乱码熟女一区二区| 一本一本久久a久久精品综合麻豆| 无码在线观看123| 日本女优五十路中文字幕| 亚洲av无码精品色午夜app| 蜜臀aⅴ国产精品久久久国产老师| 国产成人综合久久精品推荐免费| 亚洲av日韩综合一区尤物| 无码小电影在线观看网站免费| 亚洲另类自拍丝袜第五页| 亚洲av综合日韩精品久久久| 中国少妇久久一区二区三区| 亚洲精品国产美女久久久| 亚洲熟妇色xxxxx欧美老妇| 亚洲国产人成自精在线尤物| 亚洲 日韩 激情 无码 中出| 亚洲av无码第一区二区三区| 91精品国产闺蜜国产在线| 国产av丝袜熟女丰满一区二区| 亚洲国产精品一区二区www| 一级午夜视频| 亚洲一区二区三区av无| 中文字幕有码无码人妻av蜜桃| 国产va免费精品观看| 喷潮出白浆视频在线观看| 白白在线视频免费观看嘛| 国产乱子伦| 久久中文字幕乱码免费|