c#中为什么能创建同名线程,同名线程如何区分呢,比如设置两个同名线程为不同优先级

问题补充:
例如:For(int i=0 i<10 i++)
{
    Thread t=new Thread()t.start()
}

 

这并不是同名线程  
Thread t=new Thread();
每次循环,上一次循环中的t变量已经失效,这是变量作用域的问题,你找一下这方面的书.
c#中容许同名,但是两个变量的作用域要不同,如:
CLASS A
{
   private string name;//name1,类成员name(全局变量)
   public A(string name)//name2,方法参数
   {
       this.name=name;
         name1    name2  
   }
   public void B()
  {
       string name="爱爱爱";
       this.name=name;
       //类成员  局部变量
   }
}
你可以这样呀:将同名线程管理起来,比如放入一个数组:

Thread threads[] = new Thread[10];
For(int i=0 i<10 i++){
threads[i] = new Thread()
threads[i].start();
}
线程是最小的可执行单元,就拿你的例子来说,每循环一次,线程就执行了一次。所以没有什么同名不可执行的。    你应该先好好理解下什么是线程。
posted @ 2012-12-29 16:51  麦田HH  阅读(2214)  评论(0编辑  收藏  举报