Java静态方法和线程安全问题

3
我有以下问题:
如果在servlet的doPost方法中创建了一些局部变量,然后将它们传递给另一个类的静态方法,该方法使用这些变量并返回结果...当多个线程访问doPost方法、创建局部变量并将这些变量传递给静态方法时会发生什么?
这是否是线程安全的?

如果传递的值基于对象,并且静态方法未将引用保存在静态变量中,则它是线程安全的。 - user2511414
1个回答

4

参数会被传递到栈上创建本地变量,每个线程都有自己的栈,因此它们是线程安全的。

当然,它们指向的对象可能是共享的,并且可能存在线程同步问题。


3
假设静态方法本身是线程安全的,且不使用任何静态变量或不同步的静态对象。 - Markus Mikkolainen
以下内容可能会对您有所帮助:https://dev59.com/gnRB5IYBdhLWcg3wc3A0 - mmirwaldt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接