繁体   English   中英

如何同步setter和getter?

[英]How to synchronize setter and getter?

我是 Java 的新手,只需要找到正确的语法来同步此方法。

我不认为我可以更改模板,我得到“无法在只读编辑器中编辑”。 通常我只会让 setter 返回值。

这只是代码的大致思路,语法不正确。

public class Task extends AbstractTemplate<Service> {
    private Enum result;
    
    @Override
    @Transactional
    public void execute(Map params) {
        result = this.executeService(params);
    }
    
    public Enum getResult() {
        return result
    }
}

我遇到的问题当然是当我执行许多并发请求以执行 function 然后立即调用 getResult 时,返回的结果与正确的参数不对应。

不幸的是,没有好的方法可以做到这一点。

如果从同一个线程调用executegetResult ,您可以将结果放入线程局部变量中。 这是糟糕的设计,最好重构你的代码,这样execute直接返回结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM