精華區beta Programming 關於我們 聯絡資訊
> ==>發信人: Wiseman.bbs@bbs.cs.nthu.edu.tw (), 信區: programming > 想像一下有一個人寫了一個framework ,這framework幫programmer > 寫好了main()以及一些共用的程式碼, 如此一來programmer只要負責 > 撰寫各event的handlers. 其他的工作都會由framework完成, > 這main()的工作就像下面的c codes; > void main() > { > framework_init(); > Instance_init(); > while (event_occur()) > { > dispatch_event(); > } > } > dispatch_event() 這function會把event 分配到programmer寫好的handler > 來處裡. 這程式無可置疑的是循序式的, 因為main()存在且main()是循序式的, > programmer寫的event handler也是循序式的 = > > 上面這段程式在那種條件下是 concuurent , 那種情況甚至是 parallel ? > > 而在那種情況則是 serial sequential ? > 看不懂你要問什麼耶 假設 event_occur() 在某個時間點或事件狀況下為 true , 所以 dispatch_event() 就對應被啟動執行. A. 是等這個 dispatch_event() 一執行, 對應的 event_occur() 原 true 狀態 1. 很快就被清除 或 2. dispatch_event 完成之後, 才可能改變或不變 B. 下一個 while loop 再 check 的時間是等 dispatch_event() 1. 完成 或 2. 部份完成 就能回到 while loop 做下一個 check ? C. 下一次 event_occur() 的執行是必需等 dispatch_event() 1.完成之後 或 2.未完成 就可以有 event_occur() 又產生 true status ? 假如 dispatch_event 可以發出請求給另一部機器 X 做事, 只要發出通知, 不等事 做完, 就回到 while loop . 而 event_occur() 的產生, 假設是由另一部機器 A 執行, 假如產生與否是跟前一個 event 無關的, 那這個新 event 就會由 dispatch 啟動出另一部機器 Y 去做事. 此時, X 與 Y 就可能會 "同時做不同的事". -- ◎ Origin: 中央松濤站□bbs.csie.ncu.edu.tw From: 140.115.6.234