请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

一个关于这个简易聊天室的优化想法

老师,我看到您的代码中,对每一个新的客户端都new了一个线程,那么当类似QQ群这样人数上限2000的时候,线程创建销毁的代价是不是会很高?这时新建一个线程池,然后传入chatHandler去执行,然后根据用户访问量设置核心线程数啥的,会不会效率高一些?而且非核心的线程是会被自动回收的,这样是不是算是优化了呢?
我的第二个想法是,concurrentHashMap是线程安全的且支持高并发访问的一个很棒的类,如果Map用的是concurrentHashMap是不是不需要对每个方法进行sychronized修饰了呢?并且由于只是在修改那一处需要保证线程安全,方法内其他的地方就可以并发访问了,提高了并发效率,是不是好点了捏?

这些只是我临时想到的一些想法,请老师指正。么么哒

正在回答

1回答

同学你好~你说得很好~使用线程池和concurrentMap都是非常可行的优化项目的方法,你对于项目的思考很用心哈~

目前我们的课程是初始版本,作为初级课程,我们简化了项目的功能,将主要的实现集中在核心的IO模型实现上,这是为了避免分散同学们的精力,让大家把注意力聚焦在对于IO模型的理解上。但事实上,我本身也有一个列表来记录项目可以进一步扩充的空间,正如你所提到的,如何支持大量的客户,如何优化项目的性能,这些我们都有计划要在后续的课程更新升级时再为大家带来扩展的内容。还请你持续的关注我们的课程~

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_慕圣9338304 #1
    谢谢老师用心的回答,我会继续关注老师的后续课程的,么么哒
    回复 有任何疑惑可以回复我~ 2020-08-12 11:20:58
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号