精華區beta Programming 關於我們 聯絡資訊
※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言: > > X跟Y既是兩台機器 當然可以同時做不同的事 > > 就算是同一台機器的同一個程式, 也有可能有兩個thread 同時執行類似以上的 > > event loop. 但是重點是thread 本身是循序的.我想說明的是, 像gsj此類因為不了解 > > framework內部的機制而誤認framework為非循序的, 是一件多麼可笑的事. > > 循序化是gsj自己提出的, 他自己也無法給出一個完整的定義(沒有main() ? 哈哈) > > 所以我也只是猜測他最可能的定義來反駁. 我想..任何一個有大腦的人都會知道 > > 幾乎世界上所有的language,都是他所謂的循序化. 包括C++/C/Java/Pascal/Perl/Python > 多數的高階語言都沒有 "敘述可同時或交錯執行" 的指述. > 就 function/subroutine/procedure 的叫用言, 也是循序只做一件事, 一個段落沒被 > 執行完, 不會 "同時" 執行下一個段落, 即使是 RPC 也是儘力要維持這個習慣. 但如 > 果是 Asynchronous RPC , 雖然高階語言寫的成份沒有這種敘述, 卻透過 asnchronous > RPC 就可能讓部份動作有 "平行處理" 現象. 多數循序語言是沒有這種成分的, 但外部 > 模組可以用其他語言(如組語或 CHHL) 敘述出這種情況, 而這種模組當然是可以被叫用 > 的. > Concurrent High Level Language 相對言, 就有這種明顯的敘述成份. > Java 語言對此部份, 可能就會有爭議, 很多文件多認為 Java 是 CHHL 的一種. 不要扯遠了.. Concurrency跟這裡討論的循序化是不一樣的 兩者並不是相反的詞 循序化就是明確的指定指令執行的內容與程序. 與循序化相反的是Declarative language, 例如SQL, 這種language不會列出電腦執行的程序, 只會描述要作的事 -- ※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: NK219-91-86-89.adsl.dynamic.apol.com.tw