• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            狀態(tài)機(jī)與事件驅(qū)動

            關(guān) 于狀態(tài)機(jī)的一個極度確切的描述是它是一個有向圖形,由一組節(jié)點(diǎn)和一組相應(yīng)的轉(zhuǎn)移函數(shù)組成。狀態(tài)機(jī)通過響應(yīng)一系列事件而運(yùn)行。每個事件都在屬于當(dāng)前節(jié)點(diǎn)的轉(zhuǎn)移函數(shù)的控制范圍內(nèi),其中函數(shù)的范圍是節(jié)點(diǎn)的一個子集。函數(shù)返回下一個(也許是同一個)節(jié)點(diǎn)。這些節(jié)點(diǎn)中至少有一個必須是終態(tài)。當(dāng)?shù)竭_(dá)終態(tài), 狀態(tài)機(jī)停止。

            包含一組狀態(tài)集(states)、一個起始狀態(tài)(start state)、一組輸入符號集(alphabet)、一個映射輸入符號和當(dāng)前狀態(tài)到下一狀態(tài)的轉(zhuǎn)換函數(shù)(transition function)的計(jì)算模型。當(dāng)輸入符號串,模型隨即進(jìn)入起始狀態(tài)。它要改變到新的狀態(tài),依賴于轉(zhuǎn)換函數(shù)。在有限狀態(tài)機(jī)中,會有有許多變量,例如,狀態(tài)機(jī)有很多與動作(actions)轉(zhuǎn)換(Mealy機(jī))或狀態(tài)(摩爾機(jī))關(guān)聯(lián)的動作,多重起始狀態(tài),基于沒有輸入符號的轉(zhuǎn)換,或者指定符號和狀態(tài)(非定有 限狀態(tài)機(jī))的多個轉(zhuǎn)換,指派給接收狀態(tài)(識別者)的一個或多個狀態(tài),等等。

            傳統(tǒng)應(yīng)用程序的控制流程基本是順序的:遵循事先設(shè)定的邏輯,從頭到尾地執(zhí)行。很少有事件能改變標(biāo)準(zhǔn)執(zhí)行流程;而且這些事件主要涉及異常情況。命令行實(shí)用程序是這種傳統(tǒng)應(yīng)用程序的典型例子。

            另 一類應(yīng)用程序由外部發(fā)生的事件來驅(qū)動——換言之,事件在應(yīng)用程序之外生成,無法由應(yīng)用程序或程序員來控制。具體需要執(zhí)行的代碼取決于接收到的事件,或者它相對于其他事件的抵達(dá)時間。所以,控制流程既不能是順序的,也不能是事先設(shè)定好的,因?yàn)樗蕾囉谕獠渴录J录?qū)動的GUI應(yīng)用程序是這種應(yīng)用程序的典型例子,它們由命令和選擇(也就是用戶造成的事件)來驅(qū)動。

            Web
            應(yīng)用程序由提交的表單和用戶請求的網(wǎng)頁來驅(qū)動,它們也可劃歸到上述類 別。但是,GUI應(yīng)用程序?qū)τ诮邮盏降氖录杂幸欢ǔ潭鹊目刂疲驗(yàn)檫@些事件要依賴于向用戶顯示的窗口和控件,而窗口和控件是由程序員控制的。Web應(yīng)用 程序則不然,因?yàn)橐坏┯脩舨扇〔辉陬A(yù)料之中的操作(比如使用瀏覽器的歷史記錄、手工輸入鏈接以及模擬一次表單提交等等),就很容易打亂設(shè)計(jì)好的應(yīng)用程序邏輯。

            顯然,必須采取不同的技術(shù)來處理這些情況。它能處理任何順序的事件,并能提供有意義的響應(yīng)——即使這些事件發(fā)生的順序和預(yù)計(jì)的不同。有限狀態(tài)機(jī)正是為了滿足這方面的要求而設(shè)計(jì)的。

            有 限狀態(tài)機(jī)是一種概念性機(jī)器,它能采取某種操作來響應(yīng)一個外部事件。具體采取的操作不僅能取決于接收到的事件,還能取決于各個事件的相對發(fā)生順序。之所以能做到這一點(diǎn),是因?yàn)闄C(jī)器能跟蹤一個內(nèi)部狀態(tài),它會在收到事件后進(jìn)行更新。為一個事件而響應(yīng)的行動不僅取決于事件本身,還取決于機(jī)器的內(nèi)部狀態(tài)。另外,采取 的行動還會決定并更新機(jī)器的狀態(tài)。這樣一來,任何邏輯都可建模成一系列事件/狀態(tài)組合。

            posted on 2009-11-02 11:37 肥仔 閱讀(3975) 評論(0)  編輯 收藏 引用 所屬分類: 狀態(tài)機(jī) & 自動機(jī) & 形式語言

            人人妻久久人人澡人人爽人人精品| 香蕉久久夜色精品国产2020| 国产精品久久久久9999| 久久成人精品| 久久久久成人精品无码中文字幕 | 久久99久久99小草精品免视看| 中文字幕成人精品久久不卡| 久久国产AVJUST麻豆| 91久久精品电影| 欧美一区二区三区久久综| 欧美久久天天综合香蕉伊| 久久国产精品一国产精品金尊| 亚洲午夜无码久久久久小说| 国产精品成人99久久久久| 久久香蕉国产线看观看精品yw| 久久久久久av无码免费看大片| 久久精品国产亚洲精品2020| 久久福利资源国产精品999| 国产99久久九九精品无码| 国产欧美久久久精品| 色欲久久久天天天综合网| 久久久久久久久久久精品尤物| 久久青青国产| 久久综合伊人77777麻豆| 久久精品中文字幕一区| 国内精品欧美久久精品| 精品久久久久久无码人妻蜜桃| 精品精品国产自在久久高清| 国产成人久久精品区一区二区| 国产成人久久AV免费| 国产成年无码久久久久毛片| 久久精品人成免费| 99麻豆久久久国产精品免费| 1000部精品久久久久久久久| 国产精品久久久久…| 91精品国产综合久久香蕉| 97久久精品人人澡人人爽| 久久精品免费网站网| 麻豆久久久9性大片| 国产激情久久久久久熟女老人| 亚洲香蕉网久久综合影视 |