> ==>發信人: 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