[问题] 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