精華區beta Programming 關於我們 聯絡資訊
==> 在 tester.bbs@bbs.csie.ncu.edu.tw (try or test) 的文章中提到: > > 循不循序跟OO有什麼關係阿 > > 各位可不可以不要這麼認真.... > > 單一CPU的環境永遠都是循序的...要怎麼無中生有 > > 變成平行阿! > 單一 cpu 在 timer interrupt 與 OS 支援下會有 multi-process 的交錯 > 式平行. 弄不清楚這種特性也就不必勉強. 但是, 假如你有一個多處理機 > 的 PC , 現在的主機板 可以有 2-6 CPU 的版本. 那就可以有 2-6 個重疊 > 式的平行處理能力. > 那麼用高階語言寫出的大程式, 可不可以將某些模組分散在 multi-process > 得到這些 multi-processor 平行處理的效果 ? > 因為 OO 先天就傾向 object 間的低藕合性設計, 就會很容易找出有前後次 > 序相依(這就是循序)的相關部份功能模組置於同一 class object , 沒前後 > 次序相依(這就是concurrent)關係的獨立無關 class 就可以分群, 各不相 > 依的分群就可使之分散在 process 間平行處理. > 有 Concurrent High Level Language 能力的 OOPL 固然是方便處理, > 但沒有 concurrent operation statement 的 OOPL 雖然沒有同步處理的指 > 述, 但還是可以很方便的透過外部的支援 liberary 利用 object 間藕合度 > 已預先被考慮的優點就很容易達到目的. > 任何大程式都能找出前後相依與無關可併行的片段來, 而 OO 就是會讓程設 > 師 "不由自主" 的把相依相關的片段 code 及 data 儘量擺到同一個 class > object . 而非 OO 的程式語言則較不具有這種性質. > 能自動分離出必須循序的部份是優點, 而非缺點. > 多處理機的電腦, 使得各別被平行處理的片段, 彼此無法有明確預知的一定 > 次序關係, 這是一種非循序運行, 所以硬體也能做這種 "非循序關係" 的工 > 作. 其實...... Kira 第一次摸到好球鋼蛋的 CPU 跟 OS 的時候...好球鋼蛋的 Kernel 就被 OOPL重 寫過了,不但可以支援多鋼蛋操作...連 OS 也馬上可以用 OOPL 連發陽離子砲 更厲害的是...好球鋼蛋還可以被虛擬成福利蛋...支援多線操作,可以用分散式物件 操作 Plasma Bean...一舉擊潰非 OO 結構的剛蛋系列 就算與死小孩開的爹死疼你系列對戰...也可以釋放出同步操作指令遠端操作死小孩鋼蛋 讓死小孩鋼蛋陷入程式碼與程式片段交錯的夢魘中... --未完待續 -- -- 應該算是同一個討論吧 :P -- * Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>