看板 java 關於我們 聯絡資訊
程式碼 http://chopapp.com/#b5mmn5fj 大家好~ 最近工作上可能有這個需求,所以開始研究 socket。 不過以往沒有碰過這個技術,在這有些問題想請教一下大家。 因為未來可能會有大量資料回傳的狀況, 所以很好奇 example 48行的 synchronized 這段, 在回傳資料量大時,會影響到處理速度嗎?如果拿掉有可能會有什麼風險? 還是說在這個地方有其他的技術可以參考?@@> 另外拿到資料(json object)轉成 bean 之後寫入db, 在資料量大的狀況下,實務上是會拿到一筆寫一次?還是會累積起來再一起寫? 有其他沒考量到的地方,也請給點建議,感恩~ XD - framework有用到spring/hibernate -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.9.229 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1425527532.A.0A1.html
banjmin: 你的架構有問題 應該是在accept之後開thread 傳入socket 03/05 12:45
banjmin: 去處理跟一個client的互動 而ServerSocket本身thread要繼 03/05 12:45
banjmin: 續等待其他請求 也用不到synchronized去lock ServerSocke 03/05 12:45
banjmin: t物件 03/05 12:45
不好意思,看了其他的sample也沒這麼寫,看來是找到不太好的例子 囧rz
now99: 不過要注意 一個連線開一個thread量大thread會過多的問題 03/05 21:13
有什麼預防方式嘛?或者該說一般怎麼處理這個問題? 因為我的狀況很有可能會持續從不同的地方有很多連線進來... ※ 編輯: swallowcc (49.215.57.102), 03/05/2015 22:02:00
banjmin: 只能試試加大vm option記憶體和ThreadPool來設一個最大 03/06 02:05
banjmin: 的處理數量 03/06 02:05
VilleBez: 給你參考我之前POP3 Server Socket與Thread Pool的實做 03/23 16:32
VilleBez: http://villebez.logdown.com/archives 03/23 16:32