精華區beta Programming 關於我們 聯絡資訊
※ 引述《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