不必是static的。
static 是为了调用方便,比如调用某个类的某个方法是不必生成对象。
如果生成的对象消失了(disposed),方法也就没有了,该线程就会出错。
而static 就没有这种问题。不知道我的说法对不对,还请高手指正。

解决方案 »

  1.   

    以前不是说静态函数没有this指针,可以作线程函数,
    其他的都不行吗?
      

  2.   

    主线程必须是静态的(Main方法),其他用户启动线程可以是对象方法或静态方法。
      

  3.   

    说是函数当然就是static的了,
    如果为其它的就不是函数了,而是方法了。
    说法不同,作用一样的。
      

  4.   

    楼主这样宣告变量,应该是私有变量的,与static没有多大的关系请指正。
      

  5.   

    [C#]
    public Thread(
       ThreadStart start
    );
    请看MSDN的宣告如果是这样:
    [C#]
    public static Thread(
       ThreadStart start
    );
    就是静态的
    直接使用:Thread.Start();
      

  6.   

    static 与 非static使用时有什么不同?
      

  7.   

    static不须实例化,非static须要,更全面的资料可以查看msdn
      

  8.   

    ThreadStart是线程代理类,也就是delegate;
    代码定义为public delegate void ThreadStart();
    说明该委托对返回类型为void没有参数的函数进行代理;
    同static或实例无关。