java函数线程中的局部变量是否安全

Sau*_*mar 0 java

我想知道以下workingCopy哪个是函数的局部变量THREAD SAFE

   private static final Lock lock = new ReentrantLock();
  private final List<String> Ids= new LinkedList<String>();
   private void foo(){
        List<String> workingCopy = null;
        final boolean locked = lock.tryLock();
        try
        {
            workingCopy = new LinkedList<String>(Ids);
            Ids.clear();
        }
        catch (final Exception e)
        {
            log.debug(e.toString());
        }
        finally
        {
            if (locked)
            {
                lock.unlock();
            }
        }

        for (final String copy: workingCopy)
        { /// }
} 
Run Code Online (Sandbox Code Playgroud)

或者有更好的方法来做到以下几点

Dr.*_*ana 5

是的,只有共享变量(实例数据,静态数据)是互斥的,局部变量是在堆栈上创建的,每次调用都是在不同的内存位置创建的,所以没有共享点与另一个共享