※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言:
> 轉信站: KimoWebBBS!netnews.kimo.com.tw!news.csie.ncu!Evergreen
> Origin: @140.115.6.234
> > ==>發信人: previewslave@kkcity.com.tw (), 信區: programming
> > ※ 引述《Wiseman.bbs@bbs.cs.nthu.edu.tw》之銘言:
> > > ※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言:
> > > > 程式都有必須前後相依的 sequential 成份, 也有與前後次序無關可併
> > > > 行的成份. 一般的命令式(imperative)程式語言除了 CHLL 以外, 通常
> > > > 都把這些都當成必須前後有序的處理, 也就不介意 data 的隔離.
> > > > 可是 OOPL 會把有關的 data 與 method 擺到同一個 class object,
> > > > 跟前後次序相依的就會歸類為同一 class , 彼此不相關的 data 與
> > > > method 通常就可以另成一個 class object. 所以 object 間的相依性
> > > > 降低, 可以併行處理的可能性就增高.
> > > 太玄了 根本看不懂
> > > 有沒有人可以幫忙翻譯一下 .
> > 簡單來講,就是 OOD 可以稍微將 需要循序處理之變數的相依關係 先來個概述。
> > 不過就這樣聽起來的話,編譯器好像越來越難開發了,配合超緒執行的處理器來說。
> 假設程式的處理過程如下:
> S1. input (a,b);
> concurrent_begin
> S2. r1 S3. r2 S4. r3 concurrent_end
> S5. r4 S6. output(z:=r4);
> 這個例子 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" 的聲告, 依然正確運作.
你是在講大型主機嗎? 裡面有很多特殊指令可以幫你處理一大堆的concurrent instruction.
--
※ Origin: 奇摩 大摩域 <http://bbs.kimo.com.tw/>
◆ From: 220.130.201.247