[問題] 關於取代polling的問題

看板C_Sharp (C#)作者 (只要食物不要胖)時間10年前 (2015/02/05 23:58), 編輯推噓4(4016)
留言20則, 6人參與, 最新討論串1/2 (看更多)
我用生活化的假設好了 假如我有兩個class 一個是 "媽媽炒菜" 一個是"兒子看電視" 然後有一支電話 情境是這樣 媽媽知道外婆會打電話來 所以一邊炒菜一邊不停的去詢問兒子說"電話來了沒" 然後直到兒子接到電話然後 確認是外婆而不是隔壁老王才通知媽媽說 "媽~外婆的電話" 這是一般polling的機制 但是 我想要這個兒子主動點 外婆打過來就直接通知媽媽而不是媽媽去問兒子 請問我要用什麼方法? public void MomCook() { answerPhone(); } bool answerPhone() { if( GrandMon()) return true; return false; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.26.37 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1423151937.A.B75.html

02/06 00:04, , 1F
不大會形容~ 有點像是call back的概念
02/06 00:04, 1F

02/06 00:21, , 2F
delegate
02/06 00:21, 2F

02/06 00:22, , 3F
event
02/06 00:22, 3F

02/06 00:24, , 4F
observer pattern
02/06 00:24, 4F

02/06 00:52, , 5F
DELEGATE是不是算是用thread的概念 不過thread也算是poll
02/06 00:52, 5F

02/06 01:06, , 6F
不管是delegate還是poll都不一定跟multithread有關係...
02/06 01:06, 6F

02/06 01:26, , 7F
只是不管event source用poll還是wait做,如果observer有要
02/06 01:26, 7F

02/06 01:27, , 8F
一直跑的工作,通常還是會在別的thread做
02/06 01:27, 8F

02/06 02:03, , 9F
按鈕(媽媽)click事件(外婆打來),這樣解釋對嗎?
02/06 02:03, 9F

02/06 02:13, , 10F
比較接近的應該是人=thread,工作=程式(delegate)
02/06 02:13, 10F

02/06 02:23, , 11F
不過原po的描述是single thread,媽媽問兒子兒子才去確認電
02/06 02:23, 11F

02/06 02:25, , 12F
話,而平常媽媽都用著唯一的thread,所以兒子才不主動
02/06 02:25, 12F

02/06 02:32, , 13F
媽媽兒子都有thread,媽媽要兒子在接到外婆電話時通知(註冊
02/06 02:32, 13F

02/06 02:46, , 14F
兒子就負責等電話(poll、wait、block I/O...)是外婆才通知
02/06 02:46, 14F

02/06 02:53, , 15F
喔..我以為他要外婆打來就直接媽媽去接..搞錯了
02/06 02:53, 15F

02/06 08:18, , 16F
媽媽炒菜跟兒子接電話可以兩個BackgroundWorker去做
02/06 08:18, 16F

02/06 09:22, , 17F
就是媽媽炒菜 有沒有接電話都沒關係的概念 不會因為沒
02/06 09:22, 17F

02/06 09:22, , 18F
接電話就吵不出菜來 只是一個小小的event而已
02/06 09:22, 18F

02/06 13:14, , 19F
媽媽炒菜炒到一半要因為收到電話來了而中斷嗎
02/06 13:14, 19F

02/06 13:15, , 20F
class、method 這兩個名詞要區分清楚
02/06 13:15, 20F
文章代碼(AID): #1KqvD1jr (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1KqvD1jr (C_Sharp)