[問題] 通知/群播/observer

看板java作者 (皮爺)時間14年前 (2011/12/07 08:35), 編輯推噓5(502)
留言7則, 6人參與, 最新討論串1/2 (看更多)
大家好 我寫了一個main方法,它會叫用多條Thread去做socket連線的動作 我希望這支程式能有個群播的功能,一人發話大家都看得到 想法是,所有Thread共用一個地址,像是把要交換的東西寫在公佈欄上那樣 所以這個公佈欄應該會在main方法所在的class裡頭 但是問題來了 我要怎麼通知其他Thread,公佈欄更新了呢? 我有想過寫個timer之類的東西每幾秒刷新一次 不過馬上就覺得這個解法實在是太鳥了囧 請問該如何實作呢? 或是整個結構打掉重寫也沒關係@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.239.43

12/07 08:45, , 1F
我之前寫也是開一個Thread無限迴圈刷新 = =
12/07 08:45, 1F

12/07 10:51, , 2F
我幾年前google到 是用個queue 一個轉發的thread去handle
12/07 10:51, 2F

12/07 16:35, , 3F
XD 我試試看
12/07 16:35, 3F
想問一下 我看大部分的socket使用範例 都是傳完1次就flush然後關閉連線 因為覺得每次都要重新建立連線很麻煩 假設每一個客戶端都會使用蠻長一段時間 可以一直擺著不關嗎? 這樣很吃資源嗎@@?

12/07 22:44, , 4F
因為那只是"socket使用範例"
12/07 22:44, 4F

12/07 22:53, , 5F
囧 原來是我想太多了..
12/07 22:53, 5F

12/07 23:28, , 6F
通知者模式?
12/07 23:28, 6F
這個!!http://ppt.cc/1~uJ 真是太好了!!感謝你們 ※ 編輯: p52189 來自: 114.42.239.43 (12/08 01:44)

12/08 10:03, , 7F
以前作業是用RMI來寫
12/08 10:03, 7F
文章代碼(AID): #1EthJJEn (java)
文章代碼(AID): #1EthJJEn (java)