[問題] socket server synchronized

作者: swallowcc (guest)   2015-03-05 11:52:07
程式碼
http://chopapp.com/#b5mmn5fj
大家好~
最近工作上可能有這個需求,所以開始研究 socket。
不過以往沒有碰過這個技術,在這有些問題想請教一下大家。
因為未來可能會有大量資料回傳的狀況,
所以很好奇 example 48行的 synchronized 這段,
在回傳資料量大時,會影響到處理速度嗎?如果拿掉有可能會有什麼風險?
還是說在這個地方有其他的技術可以參考?@@>
另外拿到資料(json object)轉成 bean 之後寫入db,
在資料量大的狀況下,實務上是會拿到一筆寫一次?還是會累積起來再一起寫?
有其他沒考量到的地方,也請給點建議,感恩~ XD
-
framework有用到spring/hibernate
作者: banjmin (HD)   2015-03-05 12:45:00
你的架構有問題 應該是在accept之後開thread 傳入socket去處理跟一個client的互動 而ServerSocket本身thread要繼續等待其他請求 也用不到synchronized去lock ServerSocket物件
作者: now99 (陳在天)   2015-03-05 21:13:00
不過要注意 一個連線開一個thread量大thread會過多的問題
作者: banjmin (HD)   2015-03-06 02:05:00
只能試試加大vm option記憶體和ThreadPool來設一個最大的處理數量
作者: VilleBez (小木白)   2015-03-23 16:32:00
給你參考我之前POP3 Server Socket與Thread Pool的實做http://villebez.logdown.com/archives

Links booklink

Contact Us: admin [ a t ] ucptt.com