作者swallowcc (罹患重度能年病的燕叔)
看板java
标题[问题] socket server synchronized
时间Thu Mar 5 11:52:07 2015
程式码
http://chopapp.com/#b5mmn5fj
大家好~
最近工作上可能有这个需求,所以开始研究 socket。
不过以往没有碰过这个技术,在这有些问题想请教一下大家。
因为未来可能会有大量资料回传的状况,
所以很好奇 example 48行的 synchronized 这段,
在回传资料量大时,会影响到处理速度吗?如果拿掉有可能会有什麽风险?
还是说在这个地方有其他的技术可以参考?@@>
另外拿到资料(json object)转成 bean 之後写入db,
在资料量大的状况下,实务上是会拿到一笔写一次?还是会累积起来再一起写?
有其他没考量到的地方,也请给点建议,感恩~ XD
-
framework有用到spring/hibernate
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.9.229
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1425527532.A.0A1.html
1F:推 banjmin: 你的架构有问题 应该是在accept之後开thread 传入socket 03/05 12:45
2F:→ banjmin: 去处理跟一个client的互动 而ServerSocket本身thread要继 03/05 12:45
3F:→ banjmin: 续等待其他请求 也用不到synchronized去lock ServerSocke 03/05 12:45
4F:→ banjmin: t物件 03/05 12:45
不好意思,看了其他的sample也没这麽写,看来是找到不太好的例子 囧rz
5F:推 now99: 不过要注意 一个连线开一个thread量大thread会过多的问题 03/05 21:13
有什麽预防方式嘛?或者该说一般怎麽处理这个问题?
因为我的状况很有可能会持续从不同的地方有很多连线进来...
※ 编辑: swallowcc (49.215.57.102), 03/05/2015 22:02:00
6F:推 banjmin: 只能试试加大vm option记忆体和ThreadPool来设一个最大 03/06 02:05
7F:→ banjmin: 的处理数量 03/06 02:05
8F:→ VilleBez: 给你参考我之前POP3 Server Socket与Thread Pool的实做 03/23 16:32