调用方法时,局部变量驻留在单个
调用的堆栈中,因此在多
线程的情况下也不必担心局部变量,但是如果File将其作为
参数传递,则可能会产生问题。
创建线程时,它将创建自己的堆栈。两个线程
将具有两个堆栈,并且一个线程永远不会与其他
线程共享其堆栈。
局部变量始终是线程安全的。但是请记住,
局部变量指向的对象可能并非如此。如果对象是在
方法内部实例化的,并且从未转义,则不会有问题。
另一方面,指向某些共享库的局部变量可能
仍然会引起问题。仅仅因为您将共享对象分配给本地
引用,并不意味着该对象自动成为线程安全的。
如果局部变量是原始变量,则是的,它是线程安全的。如果
局部变量是指向本地创建
对象的引用,则可以,它应该是线程安全的(假定静态变量是线程
安全的)。
如果局部变量是指向外部创建的
对象的引用,则且仅当可以以
线程方式安全使用该对象时,该变量才是线程安全的。



