一个非静态类里面的静态函数,在静态函数里定义一个变量,这个变量算不算静态变量??如果算的话,那是否所有静态函数都有lock的需要呢??

解决方案 »

  1.   

    静态函数内的静态变量是非线程安全的,多线程需要lock
    静态函数内的非静态变量(局部变量)是线程安全的,不需要lock。
      

  2.   

    方法里声明的变量都是临时变量,跟静态不静态没有关系...静态方法也跟静态对象没有关系...需不需要lock只取决于对象是否线程安全,跟静态不静态没有关系...