jfinal开发中的线程安全问题
@JFinal 你好,想跟你请教个问题:
jfinal项目里,在Action方法中调用Service层的话,都会这样写:private Service service = new Service(); 然后供Action中的其它方法调用(要是在Action中的每个方法中都new一个这样的service总觉得开销太大不太好),当访问量变多时会不会出现线程安全问题,导致乱串?该怎么解决?
或者有什么更好的方法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
手机打字不方便,简单说就是 service 中只定义方法,不定义属性,或者定义的属性仍能保证属性本身也是无状态的,例如属性的值是不可变的
什么意思?能不能说的详细点?举个列子?
就是service里不要包含通用属性。你觉得开销大,这里可以设成private static MyService = new MyService(),这样此处就只有一个对象了。
回复
然后controller里也定义一个private static Service service = new Service();供Controller里的方法调用对吗?
回复
是的
把 Service 做成无状态的即可打完收工
然后controller里也定义一个private static Service service = new Service();供Controller里的方法调用对吗?
直接在任何地方Service.me.doxxx
在service中 public static Service me=new Service()