首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >游戏中的场同步!控制器

游戏中的场同步!控制器
EN

Stack Overflow用户
提问于 2012-02-17 01:11:07
回答 1查看 593关注 0票数 1

考虑这样一种情况,当我们有一个具有两个动作方法的控制器,这两个动作方法使用相同的控制器字段。此字段应延迟初始化。

代码语言:javascript
复制
public class SomeController extends Controller {
    private static volatile Resource resource;

    private static Resource getResource() {
        if (resource == null) {
            synchronized (SomeController.class) {
                if (resource == null) {
                    resource = new Resource();
                }
            }
        }

        return resource;
    }

    public static void action1() {
        getResource().doSomeAction();
    }

    public static void action2() {
        getResource().doSomeAnotherAction();
    }

}

使用Play Framework同步公共资源有哪些更好的方法?考虑到资源应该是延迟初始化的。

谢谢,艾利安

EN

回答 1

Stack Overflow用户

发布于 2012-02-17 03:13:01

这与Play中的延迟加载类(字段)或使用常规servlet的其他servlet容器(tomcat等)没有区别。使用双重检查锁定的代码应该工作得很好。但我建议您避免双重检查锁定(即使它没有损坏),只需使您的方法同步即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9315743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档