Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring服务范围单例多线程,行为_Java_Spring_Singleton - Fatal编程技术网

Java Spring服务范围单例多线程,行为

Java Spring服务范围单例多线程,行为,java,spring,singleton,Java,Spring,Singleton,在这个示例中,我有一个带有注释服务的类示例,默认范围是Singleton。 假设有很多并发服务调用这个callApi()方法。值和日期是否可能混合来自不同线程的值,或者我可以确保不会发生这种情况 谢谢不,不可能。建议您确保callThirdPartyLibrary()是线程安全的,尽管value和date是局部变量,但在每个线程上是不同的。这一点不是关于spring@Singleton,而是关于java内存模型,特别是关于堆栈。您可以阅读本文的更多内容:, @Service public cla

在这个示例中,我有一个带有注释服务的类示例,默认范围是Singleton。 假设有很多并发服务调用这个callApi()方法。值和日期是否可能混合来自不同线程的值,或者我可以确保不会发生这种情况


谢谢

不,不可能。建议您确保
callThirdPartyLibrary()
是线程安全的,尽管value和date是局部变量,但在每个线程上是不同的。这一点不是关于spring
@Singleton
,而是关于java内存模型,特别是关于堆栈。您可以阅读本文的更多内容:,
@Service
public class Example {

    public void callApi() {
        String value = callThirdPartyLibrary();
        Date date =  = callThirdPartyLibraryToGetDate();
        callMethod(value, date);
    }
}