静态方法是线程安全的


(2009-06-16 21:38:34)
标签:

杂谈

分类:.NET
先看一个类:
public classTest
{
   public static Stringhello(String str)
   {
      String tmp = "";
      tmp = tmp +str;
      return tmp;
   }
}

hello方法会不会有多线程安全问题呢?没有!
静态方法如果没有使用静态变量,则没有线程安全问题。
为什么呢?因为静态方法内声明的变量,每个线程调用时,都会新创建一份,而不会共用一个存储单元。比如这里的tmp,每个线程都会创建自己的一份,因此不会有线程安全问题。
注意:静态变量,由于是在类加载时占用一个存储区,每个线程都是共用这个存储区的,所以如果在静态方法里使用了静态变量,这就会有线程安全问题!

原文地址:http://blog.sina.com.cn/s/blog_586b6c050100ddn9.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章