精華區beta Programming 關於我們 聯絡資訊
==> 在 tester.bbs@bbs.csie.ncu.edu.tw (try or test) 的文章中提到: > > 簡單來講,就是 OOD 可以稍微將 需要循序處理之變數的相依關係 先來個概述。 > > 不過就這樣聽起來的話,編譯器好像越來越難開發了,配合超緒執行的處理器來說。 > 假設程式的處理過程如下: > S1. input (a,b); > concurrent_begin > S2. r1 <- C1(x:=a); > S3. r2 <- C2(y:=b); > S4. r3 <- C3(p:=a, q:=b); > concurrent_end > S5. r4 <- C4(x1:=r1, x2:=r2, x3:=r3) ; > S6. output(z:=r4); 假設劇情的綱要如下: S1. 地球聯合與札夫特進行遭遇戰 戰爭開始 S2. 克魯澤打爆囉囉機 S3. 阿濕男打爆死小孩 S4. 魔王機打爆笨蛋龜, 偽好球 戰爭結束 S5. 卡卡莉宣稱歐布打爆死小孩,笨蛋龜,偽好球 S6. 大天使號返航 > 這個例子 C1(x) , C2(y) , C3(p,q) 彼此是無關的, 所以 S2, S3, S4, > 不必循序, 是可以併行的. 執行序是 S4 S2 S3 或 S2 S4 S3 都不影響結果, > 所以做了 concurrent begin 與 end 的聲明或註解. > 假如, C1(x) , C2(y) , C3(p,q) 是非常耗時的處理計算, 又是 class object > 的形式, 那麼獨立無關的 C1 C2 C3 做為 distributed object 就很自然能配合 > 多機運算. > 假如叫用 C4 是用訊息傳送 r1, r2, r3 帶入, 再將結果用訊息傳送帶回給 r4, > 當 r1 , r2 , r3 無法同時一起得到結果時, 進一步假設這個訊息傳送機制會等 > 候 instance data 齊全才會叫用 C4 , 此時的訊息傳送機制就能省略 > "concurrent_end" 的聲告, 依然正確運作. 這個例子 克魯澤 阿濕男 魔王機 彼此是獨立作戰的, 所以 S2, S3, S4 不必循序 是可以同時開打的, 開打順序是 S4 S2 S3 或 S2 S4 S3 都不影響戰果, 所以做了 戰爭開始與戰爭結束的標記 假如 克魯澤, 阿濕男, 魔王機 的攻擊非常耗時沒有效率, 又是爆種的狀態下, 那麼 獨立作戰的 coordinator 配音員就很自然的會被噓下台領便當去 假如卡卡莉是用專用頻道通知戰果, 再將戰果宣告成自己的, 當三台廢柴機無法同 時打爆死小孩們時, 進一步將這個訊息傳回大天使號, 大天使號會等候便當備齊後通知 拂曉, 此時戰爭結束的標記就可以被省略...所有的人都可以去吃便當了... -- 應該會連載到出現正常的描述出現之前吧 -- 未完待續 -- -- * Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>