※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言:
: > 如果你主要是回應 gsj 的問題, 那麼在你提出不同 process 的情況時,
: > gsj 已經說這不是他認為 "OO非循序" 的情況了, 如下:
: > "我的循序是指 "行程內" 的循序"
: > "行程間也是有一個順序規則的"
: > "Process 的執行順序會由Scheduler 來排定"
: > "(這些東西已經算是OS的議題了,詳情去看看教科書吧)"
: > "至於Interrupt 有的是隨機發生(如網路卡、Keyboard),有的是定時發生(如Timer)"
: > "但是ISR內部的執行也是循序"
: > "如果它有Task要註冊到Task Queue內執行,它也是循序的"
: > [恕刪]
: > 直接引用 Booch 在 Object-Oriented Analysis and Design 中的定義,
: > Object Model 的必要條件有:
[恕刪]
: > 非必要條件為:
: > 1. Typing
: > 2. Concurrency
: > 3. Persistence.
: > 既然 concurrency 是在非必要條件, 那麼就算 concurrency 確算真的
: > 會造成 gsj 所說的 "用非循序的程式設計方式不適合循序的CPU", 又
: 1. 不受 interrupt 影響的 CPU 執行是循序的, 但有 interrupt 機制的
: CPU 就不全然是循序做事的.
: 2. 把 interrupt 用 OS 掌管 ISR , 透過 Dispatcher , Process 隔開,
: 是在 OS 層之上提供分隔的虛擬執行環境, 這時候的各 process 是併行
: 的.
[恕刪]
引用這個定義的主要目的只是想表達:
"探討 concurrency 的問題和 OOP 好不好並沒什麼絕對的關係."
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.23.107