作者:
ching99 (只要食物不要胖)
2015-02-05 23:58:54我用生活化的假設好了
假如我有兩個class 一個是 "媽媽炒菜"
一個是"兒子看電視" 然後有一支電話
情境是這樣 媽媽知道外婆會打電話來
所以一邊炒菜一邊不停的去詢問兒子說"電話來了沒"
然後直到兒子接到電話然後
確認是外婆而不是隔壁老王才通知媽媽說
"媽~外婆的電話"
這是一般polling的機制
但是 我想要這個兒子主動點
外婆打過來就直接通知媽媽而不是媽媽去問兒子
請問我要用什麼方法?
public void MomCook()
{
answerPhone();
}
bool answerPhone()
{
if( GrandMon())
return true;
return false;
}
作者:
ching99 (只要食物不要胖)
2015-02-06 00:04:00不大會形容~ 有點像是call back的概念
作者:
tvbic 2015-02-06 00:22:00event
作者:
ching99 (只要食物不要胖)
2015-02-06 00:52:00DELEGATE是不是算是用thread的概念 不過thread也算是poll
作者:
ssccg (23)
2015-02-06 01:06:00不管是delegate還是poll都不一定跟multithread有關係...只是不管event source用poll還是wait做,如果observer有要一直跑的工作,通常還是會在別的thread做
作者:
GoalBased (Artificail Intelligence)
2015-02-06 02:03:00按鈕(媽媽)click事件(外婆打來),這樣解釋對嗎?
作者:
ssccg (23)
2015-02-06 02:13:00比較接近的應該是人=thread,工作=程式(delegate)不過原po的描述是single thread,媽媽問兒子兒子才去確認電話,而平常媽媽都用著唯一的thread,所以兒子才不主動媽媽兒子都有thread,媽媽要兒子在接到外婆電話時通知(註冊兒子就負責等電話(poll、wait、block I/O...)是外婆才通知
作者:
GoalBased (Artificail Intelligence)
2015-02-06 02:53:00喔..我以為他要外婆打來就直接媽媽去接..搞錯了
作者:
wenyonba (射後不理很XX啊!!!!)
2015-02-06 08:18:00媽媽炒菜跟兒子接電話可以兩個BackgroundWorker去做
作者:
ching99 (只要食物不要胖)
2015-02-06 09:22:00就是媽媽炒菜 有沒有接電話都沒關係的概念 不會因為沒接電話就吵不出菜來 只是一個小小的event而已
媽媽炒菜炒到一半要因為收到電話來了而中斷嗎class、method 這兩個名詞要區分清楚