JfinalUIB中,关于保存用户记录,使用多线程的问题
HI,读了下代码,系统中所有用户的操作,开启的是线程,在handler中组装好数据之后,将数据放进队列中,然后在jfinal启动的时候,使用多线程去保存用户的操作记录,并save到数据库,我想问下,这么做有什么好处?为什么不在handler中,组装好数据之后,直接进行save操作?这样做,主要是为了性能吗?
我开发java才1年多,我也是在读了你的代码后,第一次在web应用中写多线程的代码,望作者指教~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
感谢回答,就是日志是和业务没有关系的,我们不光要用AOP去解耦,在实际的业务操作的时候,也需要通过线程的方式去操作,这样日志业务的代码不会嵌在我们系统的业务代码中去了,以前只知道用AOP去处理和具体业务没关系的其他业务,今天又学到了一招
是的,日志操作,直接丢进队列,由线程去处理入库,性能考虑,还有模块化考虑,日志在很多系统中都是比较独立的,这里仅仅是入库,复杂业务中还会有日志的分析等等,尽量不要影响用户的请求和响应